「java操作pdf」java操作pdf模板,打印

博主:adminadmin 2022-11-30 14:07:08 58

今天给各位分享java操作pdf的知识,其中也会对java操作pdf模板,打印进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

怎么用java代码生成pdf文档

import java.io.File;  

import java.io.FileOutputStream;  

import java.io.IOException;  

 

import com.itextpdf.text.*;  

import com.itextpdf.text.pdf.PdfWriter;  

 

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/firstPdf.pdf"));  

 

        // pdf 文件中的一个文字段落  

        Paragraph paragraph = new Paragraph("My first PDF file with an image ...");  

        Image image = Image.getInstance("F:/study/test/洛克 李.jpg");  

          

        // 用 Document 对象、File 对象获得 PdfWriter 输出流对象  

        PdfWriter.getInstance(pdfDoc, pdfFile);  

        pdfDoc.open();  // 打开 Document 文档  

          

        // 添加一个文字段落、一张图片  

        pdfDoc.add(paragraph);  

        pdfDoc.add(image);  

      

        pdfDoc.close();  

    }  

}

java怎么输出pdf格式的文件

java导出pdf需要用到iText库,iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf

的文档,而且可以将XML、Html文件转化为PDF文件。

iText的安装非常方便,下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用

iText类库了。

代码如下:

public class createPdf {

//自己做的一个简单例子,中间有图片之类的

//先建立Document对象:相对应的 这个版本的jar引入的是com.lowagie.text.Document

Document document = new Document(PageSize.A4, 36.0F, 36.0F, 36.0F, 36.0F);

public void getPDFdemo() throws DocumentException, IOException{

//这个导出用的是 iTextAsian.jar 和iText-2.1.3.jar 属于比较老的方法。 具体下在地址见:

//首先

//字体的定义:这里用的是自带的jar里面的字体

BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false);

// 当然你也可以用你电脑里面带的字体库

//BaseFont bfChinese = BaseFont.createFont("C:/WINDOWS/Fonts/SIMSUN.TTC,1",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

//定义字体 注意在最新的包里面 颜色是封装的

Font fontChinese8 = new Font(bfChinese, 10.0F, 0, new Color(59, 54, 54));

//生成pdf的第一个步骤:

//保存本地指定路径

saveLocal();

document.open();

ByteArrayOutputStream ba = new ByteArrayOutputStream();

// PdfWriter writer = PdfWriter.getInstance(document, ba);

document.open();

//获取此编译的文件路径

String path = this.getClass().getClassLoader().getResource("").getPath();

//获取根路径

String filePath = path.substring(1, path.length()-15);

//获取图片路径 找到你需要往pdf上生成的图片

//这里根据自己的获取的路径写 只要找到图片位置就可以

String picPath = filePath +"\\WebContent" +"\\images\\";

//往PDF中添加段落

Paragraph pHeader = new Paragraph();

pHeader.add(new Paragraph(" 你要生成文字写这里", new Font(bfChinese, 8.0F, 1)));

//pHeader.add(new Paragraph("文字", 字体 可以自己写 也可以用fontChinese8 之前定义好的 );

document.add(pHeader);//在文档中加入你写的内容

//获取图片

Image img2 = Image.getInstance(picPath +"ccf-stamp-new.png");

//定义图片在文档中显示的绝对位置

img2.scaleAbsolute(137.0F, 140.0F);

img2.setAbsolutePosition(330.0F, 37.0F);

//将图片添加到文档中

document.add(img2);

//关闭文档

document.close();

/*//设置文档保存的文件名

response.setHeader("Content-

disposition", "attachment;filename=\""+ new String(("CCF会员资格确认

函.pdf").getBytes("GBK"),"ISO-8859-1") + "\"");

//设置类型

response.setContentType("application/pdf");

response.setContentLength(ba.size());

ServletOutputStream out = response.getOutputStream();

ba.writeTo(out);

out.flush();*/

}

public static void main(String[]args) throws DocumentException, IOException{

createPdf pdf= new createPdf();

pdf.getPDFdemo();

}

//指定一个文件进行保存 这里吧文件保存到D盘的text.pdf

public void saveLocal() throws IOException, DocumentException{

//直接生成PDF 制定生成到D盘test.pdf

File file = new File("D:\\text2.pdf");

file.createNewFile();

PdfWriter.getInstance(document, new FileOutputStream(file));

}

}

java解析pdf文字顺序不对

修复你的PDF软件或者调整页面顺序。

java解析pdf获取pdf中内容信息:

第一种 使用开源组织提供的开源框架 pdfboxapi ;

特点:免费,功能强大,解析中文或许会存在乱码,默认格式有点乱,没有国产解析的那么美化。

想要按行读取:可以按照指定的模板,对pdf进行修改添加删除等操作,总之操作很骚,很强大。

1.pdfbox 需要带入依赖。

2.代码。

第二种使用国产的框架 Spire.PDF包含两种版本。

1 免费版。

友情提示: 免费版有 10 页的页数输出限制,在输出结果文档时只能输出前10页。将 PDF 文档转换为图片、Word、HTML、XPS等格式时,仅支持转换前 10 页。如超出限制,可升级到商业版,我们仅对免费版进行不定期维护。

2 商业版本。

api。

特点:商业版本收费,免费版本有限制,可供开发人员调试,解析格式友好,解析结果是按照行显示,对pdf 图形 ,水印 ,文本, 条形码等添加增删改操作,总之个人感觉比pdfbox顺手,但就是收费啊,谁让咱公司没钱呢。

主要功能:

只需 Free Spire.PDF for Java,无需 Adobe Acrobat。

Free Spire.PDF for Java 是一款完全独立的 PDF 类库。它的运行环境无需安装 Adobe Acrobat 或其他任何第三方组件。

多样化的PDF文档操作功能。

Free Spire.PDF for Java 支持画文本、图片、表格、条形码、形状到 PDF,提取文本和图片,创建、填充和删除 PDF 表单,添加文本/图片水印到 PDF,添加、更新和删除 PDF 书签,操作超链接、附件和注释,以及添加图片/文本印章到 PDF 等。

文档信息设置。

Free Spire.PDF for Java 支持设置 PDF 文档信息,例如文档属性设置,偏好设置(页面方向,页面大小,缩放比例等)。

高质量的文档转换功能。

Free Spire.PDF for Java 支持将 PDF 文档高质量地转换为 Word、HTML、XPS、图片、SVG 和 PDF/A 格式,以及将 XPS 文档高质量地转换为 PDF 格式。

文档安全性设置。

Free Spire.PDF for Java 支持给 PDF 文档添加和验证数字签名,加密和解密 PDF 文档,修改 PDF 文档的安全权限,以及检测签名后的 PDF 文档是否被修改。

易于集成。

开发人员可以轻易地将 Free Spire.PDF for Java 集成到 Java(J2SE和J2EE)应用程序中。

Java如何使用Java向PDF页面中添加文本

①建立com.lowagie.text.Document对象的实例。

Document document = new Document();

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

PDFWriter.getInstance(document, new FileOutputStream("Helloworld.PDF"));

③打开文档。

document.open();

④向文档中添加内容。

document.add(new Paragraph("Hello World"));

⑤关闭文档。

document.close();

通过上面的5个步骤,就能产生一个Helloworld.PDF的文件,文件内容为"Hello World"。

java 如何读取PDF文件内容

import java.io.File;

import java.io.FileOutputStream;

import java.io.OutputStreamWriter;

import java.io.Writer;

import java.net.MalformedURLException;

import java.net.URL;

import org.pdfbox.pdmodel.PDDocument;

import org.pdfbox.util.PDFTextStripper;

public class PdfReader {

public void readFdf(String file) throws Exception {

// 是否排序

boolean sort = false;

// pdf文件名

String pdfFile = file;

// 输入文本文件名称

String textFile = null;

// 编码方式

String encoding = "UTF-8";

// 开始提取页数

int startPage = 1;

// 结束提取页数

int endPage = Integer.MAX_VALUE;

// 文件输入流,生成文本文件

Writer output = null;

// 内存中存储的PDF Document

PDDocument document = null;

try {

try {

// 首先当作一个URL来装载文件,如果得到异常再从本地文件系统//去装载文件

URL url = new URL(pdfFile);

//注意参数已不是以前版本中的URL.而是File。

document = PDDocument.load(pdfFile);

// 获取PDF的文件名

String fileName = url.getFile();

// 以原来PDF的名称来命名新产生的txt文件

if (fileName.length() 4) {

File outputFile = new File(fileName.substring(0, fileName

.length() - 4)

+ ".txt");

textFile = outputFile.getName();

}

} catch (MalformedURLException e) {

// 如果作为URL装载得到异常则从文件系统装载

//注意参数已不是以前版本中的URL.而是File。

document = PDDocument.load(pdfFile);

if (pdfFile.length() 4) {

textFile = pdfFile.substring(0, pdfFile.length() - 4)

+ ".txt";

}

}

// 文件输入流,写入文件倒textFile

output = new OutputStreamWriter(new FileOutputStream(textFile),

encoding);

// PDFTextStripper来提取文本

PDFTextStripper stripper = null;

stripper = new PDFTextStripper();

// 设置是否排序

stripper.setSortByPosition(sort);

// 设置起始页

stripper.setStartPage(startPage);

// 设置结束页

stripper.setEndPage(endPage);

// 调用PDFTextStripper的writeText提取并输出文本

stripper.writeText(document, output);

} finally {

if (output != null) {

// 关闭输出流

output.close();

}

if (document != null) {

// 关闭PDF Document

document.close();

}

}

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

PdfReader pdfReader = new PdfReader();

try {

// 取得E盘下的SpringGuide.pdf的内容

pdfReader.readFdf("E://SpringGuide.pdf");

} catch (Exception e) {

e.printStackTrace();

}

}

}

java操作pdf的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java操作pdf模板,打印、java操作pdf的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。