Red de conocimiento informático - Aprendizaje de programación - Cómo resolver el problema de operar ppt con java poi

Cómo resolver el problema de operar ppt con java poi

Analizar imágenes en archivos PPT

import java.io.File;

import java.io.FileOutputStream

import org. apache.poi.hslf.HSLFSlideShow;

importar org.apache.poi.hslf.model.Picture

importar org.apache.poi.hslf.usermodel.PictureData

p>

import org.apache.poi.hslf.usermodel.SlideShow;

public class OutputPicture {

//Ruta de almacenamiento predeterminada para imágenes

public final static String path = "F:\\ppt\";

public static void main(String[] args) throws Exception {

// Cargar PPT

HSLFSlideShow _hslf = new HSLFSlideShow("F:\\Downloads\\myPPT.ppt");

SlideShow _slideShow = new SlideShow(_hslf); Datos de imagen en el archivo

PictureData[] _pictures = _slideShow.getPictureData();

// Bucle para leer datos de imagen

for (int i = 0 ; i lt; _pictures.length; i ) {

StringBuilder fileName = new StringBuilder(ruta);

PictureData pic_data = _pictures[i]; .append(i);

// Establecer formato

switch (pic_data.getType()) {

case Imagen.JPEG:

fileName.append(".jpg");

break

case Pic;

ture.PNG:

fileName.append(".png");

break;

predeterminado:

fileName.append( ".data");

}

// Archivo de salida

FileOutputStream fileOut = new FileOutputStream(new File(fileName.toString())); /p>

fileOut.write(pic_data.getData());

fileOut.close()

}

}

;

}

Agregar imágenes externas a archivos PPT

import java.awt.Rectangle

import java.awt.image.BufferedImage

p>

importar java.io.File

importar java.io.FileOutputStream

importar javax.imageio.ImageIO

importar org.apache.poi.hslf.model.Picture;

importar org.apache.poi.hslf.model.Slide

importar org.apache.poi.hslf. usermodel.SlideShow;

public class InputPicture {

ruta de cadena estática pública = "F:\\images\\myImage.png"

cadena estática pública; SALIDA = "F :\\ppt\\myppt.ppt";

public static void main(String[] args) lanza una excepción {

if(args.length != 0 ){

p>

ruta = args[0];

}

// Crear PPT

Presentación de diapositivas _slideShow = nueva presentación de diapositivas( );

// Crear presentación de diapositivas <

/p>

Slide _slide = _slideShow.createSlide();

// Establece el tipo de imagen

int pic_type = -1; ruta .indexOf(".png") != -1){

pic_type = Imagen.PNG

}else{

pic_type = Imagen.JPEG; ;

}

Archivo archivo = nuevo Archivo(ruta);

Imagen Buffered = ImageIO.read(archivo); / Posición del índice de la imagen recién colocada

int newIndex = _slideShow.addPicture(file, pic_type

// Crea un objeto de imagen basado en la posición del índice

Picture _picture = new Picture(newIndex);

//Establece la posición de visualización de la imagen

_picture.setAnchor(new Triangle(100, 100, image.getWidth(), image.getHeight) ()) );

// Coloca la imagen en la diapositiva

_slide.addShape(_picture

// Genera el archivo PPT

_slideShow.write(new FileOutputStream(new File(OUTPUT)));

}

}

Manipular objetos de texto

importar java .awt.Color;

importar java.awt.Rectangle

importar java.io.FileOutputStream

importar org.apache.poi; .hslf.model .AutoShape;

importar org.apache.poi.hslf.model.Line

importar org.apache.poi.hslf.model.ShapeTypes

importar org.apache.poi.hslf.m

odel.Slide

importar org.apache.poi.hslf.model.TextBox;

importar org.apache.poi.hslf.model.TextRun; > importar org.apache.poi.hslf.usermodel.RichTextRun;

importar org.apache.poi.hslf.usermodel.SlideShow

clase pública InputTextRun {

public static void main(String[] args) lanza una excepción{

SlideShow _slideShow = new SlideShow()

Slide slide = _slideShow.createSlide();

// Crea y coloca texto simple

TextBox _text = new TextBox();

TextRun _textRun = _text.createTextRun();

_textRun . setRawText("Du Leimi");

_text.setAnchor(new Triangle(10, 10, 100, 100));

// Crea y coloca un texto con estilo Texto

AutoShape _autoShape = new AutoShape(ShapeTypes.Rectangle); //Establece la forma

TextRun _autoText = _autoShape.createTextRun()

_autoText.setRawText ("; Du Lei Mi");

_autoShape.setAnchor(nuevo Rectángulo(200, 200, 100, 100));

_autoShape.setFillColor(nuevo Color(170, 215, 255)

_autoShape.setLineWidth(5.0);

_autoShape.setLineStyle(Line.LINE_DOUBLE);

El objeto utoShape puede establecer múltiples estilos de texto diferentes

TextRun _autoText2 = _autoShape.createTextRun()

RichTextRun _richText = _autoText2.appendText("DU"); p > _richText.setFontColor(new Color(255, 255, 255));

RichTextRun _richText2 = _autoText2.appendText("Lei Mi");

_richText2.setFontColor(new Color) ( 255, 0, 0));

_richText2.setFontSize(12);

// Coloca el objeto de texto en la diapositiva

slide.addShape( _text );

slide.addShape(_autoShape);

// Archivo de salida

_slideShow.write(new FileOutputStream("F:\\ppt\\ text .ppt"));

}

}

Establecer varios atributos de archivo

import java.awt.Dimension;

p>

importar java.io.FileOutputStream;

importar org.apache.poi.hpsf.DocumentSummaryInformation

importar org.apache.poi.hpsf; .SummaryInformation;

p>

importar org.apache.poi.hslf.HSLFSlideShow

importar org.apache.poi.hslf.model.Slide;

import org.apache.poi.hslf.usermodel.SlideShow;

public class PPTProperty {

public static void main(String [] args)throws Exception{

HSLFSlideShow hslf = HSLFSlideShow.create ();

SlideShow _slideShow = nuevo Sl

ideShow(hslf);

// Establecer tamaño de página

_slideShow.setPageSize(new Dimension(400, 600)); diapositiva del tamaño correspondiente

Slide slide = _slideShow.createSlide();

DocumentSummaryInformation doc = hslf.getDocumentSummaryInformation()

SummaryInformation info = hslf.getSummaryInformation (

doc.setCompany("secreto");

info.setAuthor("Du Leimi");

info.setTitle("nada ")

// Archivo de salida

_slideShow.write(new FileOutputStream("F:\\ppt\\demo.ppt")); Una vez completado, busque el archivo, haga clic derecho y vea las propiedades :)

}

}