java 生成PDF表格

java 生成PDF表格,第1张

实现代码如下:

package comqhdstarjavapdf;

import javaawtColor;

import javaioFileOutputStream;

import comlowagietextChapter;

import comlowagietextDocument;

import comlowagietextFont;

import comlowagietextFontFactory;

import comlowagietextPageSize;

import comlowagietextParagraph;

import comlowagietextSection;

import comlowagietextpdfPdfWriter;

/

描述:TODO JAVA生成PDF

@title GeneratePDF

@version V10

/

public class GeneratePDF {

public static void main(String[] args) {

//调用第一个方法,向C盘生成一个名字为ITextTestpdf 的文件

try {

writeSimplePdf();

}

catch (Exception e) { eprintStackTrace(); }

//调用第二个方法,向C盘名字为ITextTestpdf的文件,添加章节。

try {

writeCharpter();

}

catch (Exception e) { eprintStackTrace(); }

}

public static void writeSimplePdf() throws Exception {

// 1新建document对象

// 第一个参数是页面大小。接下来的参数分别是左、右、上和下页边距。

Document document = new Document(PageSizeA4, 50, 50, 50, 50);

// 2建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入到磁盘中。

// 创建 PdfWriter 对象 第一个参数是对文档对象的引用,第二个参数是文件的实际名称,在该名称中还会给出其输出路径。

PdfWriter writer = PdfWritergetInstance(document, new FileOutputStream("C:\\ITextTestpdf"));

// 3打开文档

documentopen();

// 4向文档中添加内容

// 通过 comlowagietextParagraph 来添加文本。可以用文本及其默认的字体、颜色、大小等等设置来创建一个默认段落

documentadd(new Paragraph("First page of the document"));

documentadd(new Paragraph("Some more text on the first page with different color and font type", FontFactorygetFont(FontFactoryCOURIER, 14, FontBOLD, new Color(255, 150, 200))));

// 5关闭文档

documentclose();

}

/

添加含有章节的pdf文件

@throws Exception

/

public static void writeCharpter() throws Exception {

// 新建document对象 第一个参数是页面大小。接下来的参数分别是左、右、上和下页边距。

Document document = new Document(PageSizeA4, 20, 20, 20, 20);

// 建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入到磁盘中。

PdfWriter writer = PdfWritergetInstance(document, new FileOutputStream("c:\\ITextTestpdf"));

// 打开文件

documentopen();

// 标题

documentaddTitle("Hello mingri example");

// 作者

documentaddAuthor("wolf");

// 主题

documentaddSubject("This example explains how to add metadata");

documentaddKeywords("iText, Hello mingri");

documentaddCreator("My program using iText");

// documentnewPage();

// 向文档中添加内容

documentadd(new Paragraph("\n"));

documentadd(new Paragraph("\n"));

documentadd(new Paragraph("\n"));

documentadd(new Paragraph("\n"));

documentadd(new Paragraph("\n"));

documentadd(new Paragraph("First page of the document"));

documentadd(new Paragraph("First page of the document"));

documentadd(new Paragraph("First page of the document"));

documentadd(new Paragraph("First page of the document"));

documentadd(new Paragraph("Some more text on the first page with different color and font type", FontFactorygetFont(FontFactorydefaultEncoding, 10, FontBOLD, new Color(0, 0, 0))));

Paragraph title1 = new Paragraph("Chapter 1", FontFactorygetFont(FontFactoryHELVETICA, 18, FontBOLDITALIC, new Color(0, 0, 255)));

// 新建章节

Chapter chapter1 = new Chapter(title1, 1);

chapter1setNumberDepth(0);

Paragraph title11 = new Paragraph("This is Section 1 in Chapter 1", FontFactorygetFont(FontFactoryHELVETICA, 16, FontBOLD, new Color(255, 0, 0)));

Section section1 = chapter1addSection(title11);

Paragraph someSectionText = new Paragraph("This text comes as part of section 1 of chapter 1");

section1add(someSectionText);

someSectionText = new Paragraph("Following is a 3 X 2 table");

section1add(someSectionText);

documentadd(chapter1);

// 关闭文档

documentclose();

}

}

可通过OCR识别从pdf中提取表格数据。常用软件有:

1、Adobe Acrobat XI Pro打开PDF文档,另存EXCEL格式。

2、用泰比(ABBYY) FineReader 11 软件,它是高智能的文本识别、文本转换和扫描识别软件。

3、用汉王PDF OCR81简体中文版的PDF识别软件,简单易用免费。

4、用EXCEL2013或以上版本直接打开。

都是用工具提取PDF文件页面的,PDF提取页面!

可能大家不清楚什么情况下可以处理此 *** 作,因为接触过的很多资料都是PDF格式,有时自己证件扫描也会存进PDF文件,但其中某些页的内容自己想分离出来,存进一个新的PDF中就要进行页面的提取处理。

import javaioFile; import javaioFileOutputStream; import javaioIOException; import comitextpdftext; import comitextpdftextpdfPdfWriter; public class PdfTest { public static void main(String[] args) throws Exception { Document pdfDoc = new Document(); // 将要生成的 pdf 文件的路径输出流 FileOutputStream pdfFile = new FileOutputStream(new File("F:/study/test/firstPdfpdf")); // pdf 文件中的一个文字段落 Paragraph paragraph = new Paragraph("My first PDF file with an image "); Image image = ImagegetInstance("F:/study/test/洛克 李jpg"); // 用 Document 对象、File 对象获得 PdfWriter 输出流对象 PdfWritergetInstance(pdfDoc, pdfFile); pdfDocopen(); // 打开 Document 文档 // 添加一个文字段落、一张 pdfDocadd(paragraph); pdfDocadd(image); pdfDocclose(); } }

import javaio;

import orgpdfboxpdmodelPDDocument;

import orgpdfboxpdfparserPDFParser;

import orgpdfboxutilPDFTextStripper;

public class PDFReader {

public static String file_path = "F:/pdf/网易技术部的MySQL中文资料pdf";

// 获取PDF内纯文本信息

public String GetTextFromPdf(String filename) throws Exception

{

FileInputStream instream = new FileInputStream(filename); // 根据指定文件创建输入流

PDFParser parser = new PDFParser( instream ); // 创建PDF解析器

parserparse(); // 执行PDF解析过程

PDDocument pdfdocument = parsergetPDDocument(); // 获取解析器的PDF文档对象

PDFTextStripper pdfstripper = new PDFTextStripper(); // 生成PDF文档内容剥离器

String contenttxt = pdfstrippergetText(pdfdocument); // 利用剥离器获取文档

Systemoutprintln("文件长度 : "+ contenttxtlength() +"\n");

return contenttxt;

}

public static void main(String args[])

{

PDFReader pdfbox=new PDFReader(); // 生成PDFBoxHello对象

try{

// 获取文档纯文本内容

String doctext = pdfboxGetTextFromPdf(file_path);

Systemoutprintln("文件内容 : ");

Systemoutprintln(doctext);

Systemoutprintln("文件结束 ");

} catch(Exception e){

eprintStackTrace();

}

}

}

copy别人的,试了一下可以,包你自己解决

以上就是关于java 生成PDF表格全部的内容,包括:java 生成PDF表格、如何从pdf中提取表格数据、java,如何从pdf中提取想要的信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10145501.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存