pdfbox&iText生成PDF文件格式及读取PDF文件内容的小示例--完美支持中文版
时间: 2024-03-11 12:50:00 浏览: 19
好的,我可以为您提供一个使用pdfbox和iText生成PDF文件及读取PDF内容的小示例,完美支持中文版。
生成PDF文件:
```
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.font.PDType0Font;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.edit.PDPageContentStream;
import org.apache.pdfbox.pdmodel.edit.PDPageContentStream.AppendMode;
import org.apache.pdfbox.pdmodel.edit.PDPageContentStream.Markup;
import org.apache.pdfbox.pdmodel.font.PDFont;
import org.apache.pdfbox.pdmodel.font.PDType0Font;
import org.apache.pdfbox.pdmodel.graphics.PDXObject;
import org.apache.pdfbox.pdmodel.graphics.image.JPEGFactory;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
public class PDFGenerator {
public static void main(String[] args) throws IOException {
// 创建一个PDDocument对象
PDDocument document = new PDDocument();
// 创建一个PDPage对象
PDPage page = new PDPage(PDRectangle.A4);
// 将PDPage对象添加到PDDocument对象中
document.addPage(page);
// 创建一个PDPageContentStream对象
PDPageContentStream contentStream = new PDPageContentStream(document, page);
// 设置文本字体
PDFont font = PDType0Font.load(document, new File("c:/windows/fonts/simhei.ttf"));
// 设置字体大小
contentStream.setFont(font, 12);
// 添加文本
contentStream.beginText();
contentStream.moveTextPositionByAmount(100, 700);
contentStream.drawString("Hello, World!");
contentStream.endText();
// 添加图片
PDImageXObject image = JPEGFactory.createFromStream(document, new FileInputStream(new File("image.jpg")));
contentStream.drawImage(image, 100, 500);
// 关闭PDPageContentStream对象
contentStream.close();
// 保存PDF文件
document.save("output.pdf");
// 关闭PDDocument对象
document.close();
}
}
```
读取PDF文件内容:
```
import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
public class PDFReader {
public static void main(String[] args) throws IOException {
// 创建一个PDDocument对象
PDDocument document = PDDocument.load(new File("output.pdf"));
// 创建一个PDFTextStripper对象
PDFTextStripper stripper = new PDFTextStripper();
// 获取PDF文件内容
String content = stripper.getText(document);
// 输出PDF文件内容
System.out.println(content);
// 关闭PDDocument对象
document.close();
}
}
```
希望这个小示例能够帮助到您!