小编nag*_*esh的帖子

在java中将图像写入pdf文件

我正在编写一个代码,将Microsoft power-point(ppt)幻灯片转换为图像,并将生成的图像写入pdf文件.以下代码生成并将图像写入pdf文件,但我面临的问题是,当我将图像写入pdf文件时,它的大小超过了pdf页面大小,我只能看到75%的图像休息是不可见的.这里需要注意的另一件事是,pdf文件中的书写图像看起来像缩放或扩展.看一下下面的代码片段:

for (int i = 0; i < slide.length; i++) {
    BufferedImage img = new BufferedImage(pgsize.width, pgsize.height,   BufferedImage.TYPE_INT_RGB);
    Graphics2D graphics = img.createGraphics();
    graphics.setPaint(Color.white);
    graphics.fill(new Rectangle(0, 0, pgsize.width, pgsize.height));
    slide[i].draw(graphics);
    fileName="C:/DATASTORE/slide-"+(i+1)+".png";
    FileOutputStream out = new FileOutputStream(fileName);
    javax.imageio.ImageIO.write(img, "png", out);
out.flush();
out.close();
com.lowagie.text.Image image =com.lowagie.text.Image.getInstance(fileName);
            image.setWidthPercentage(40.0f);
    doc.add((image));
    }

doc.close();
} catch(DocumentException de) {
          System.err.println(de.getMessage());
    }
Run Code Online (Sandbox Code Playgroud)

如果有人知道解决方案,请帮我纠正.谢谢.

这是它完成我希望的任务的代码.现在,按照Bruno Lowagie的建议,我得到了理想的结果.

但是,正如Bruno Lowagie先前指出的那样,它们是生成的png图像中的一个问题.生成的png图像不正确,因为幻灯片中的形状或图像与幻灯片的文本重叠.你能帮我识别并纠正错误吗?

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import com.itextpdf.text.Image;
import java.awt.image.BufferedImage;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hslf.model.Slide;
import org.apache.poi.hslf.usermodel.SlideShow;
import …
Run Code Online (Sandbox Code Playgroud)

java pdf powerpoint itext apache-poi

6
推荐指数
1
解决办法
2万
查看次数

如何使用poi jar读取java api中的docx文件内容

我已经阅读了doc文件,现在我正在尝试阅读docx文件内容.当我搜索样本代码时,我发现很多,没有任何效果.检查代码以供参考......

import java.io.*;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.Document;
import com.itextpdf.text.Paragraph;

public class createPdfForDocx {

public static void main(String[] args) {
InputStream fs = null;  
    Document document = new Document();
    XWPFWordExtractor extractor = null ;

try {

    fs = new FileInputStream("C:\\DATASTORE\\test.docx");
    //XWPFDocument hdoc=new XWPFDocument(fs);
    XWPFDocument hdoc=new XWPFDocument(OPCPackage.open(fs));
    //XWPFDocument hdoc=new XWPFDocument(fs);
    extractor = new XWPFWordExtractor(hdoc);
    OutputStream fileOutput = new FileOutputStream(new       File("C:/DATASTORE/test.pdf"));
    PdfWriter.getInstance(document, fileOutput);
    document.open();
    String fileData=extractor.getText();
    System.out.println(fileData);
    document.add(new Paragraph(fileData));
    System.out.println(" pdf document created");
        } catch(IOException e) {
            System.out.println("IO Exception"); …
Run Code Online (Sandbox Code Playgroud)

java docx apache-poi readfile

3
推荐指数
1
解决办法
3万
查看次数

标签 统计

apache-poi ×2

java ×2

docx ×1

itext ×1

pdf ×1

powerpoint ×1

readfile ×1