Java 将Html转为PDF(二)

Java 将Html转为PDF(二)
前面介绍了如何通过插件的方式将Html文件转为PDF,需要使用Spire.PDF for Java 3.6.6或者之后的新版本,可根据自己的系统选择不同插件来实现转换。

本文提供另外一种转换方法,需要使用Spire.Doc for Java 3.9.4或者之后的新版本。

关于Jar包下载及导入
方法1:下载jar包。

解压,找到lib文件夹的Spire.Doc.jar文件,并在Java程序中导入jar 文件
方法2:在Maven程序中配置Pom.xml文件,如下(需要指定Maven仓库路径以及Spire.Doc 的依赖):
<repositories>
<repository>
<id>com.e-iceblue</id>
<url>/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId> e-iceblue </groupId>
<artifactId>spire.doc</artifactId>
<version>3.9.4</version>
</dependency>
</dependencies>
完成配置后,导入jar。

详细步骤可参考官方教程文档。

Html转PDF方法
转换时可以将Html String或者Html file转为PDF,参见以下代码方法:
1. 将Html String转为PDF
创建Word文档,将Html String添加到Word段落,通过saveToFile()保存为PDF文档。

import com.spire.doc.*;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class HtmlToPDF1 {
public static void main(String[] args) throws IOException{
String inputHtml = "InputHtml.txt";
//新建Document对象
Document doc = new Document();
//添加section
Section sec = doc.addSection();
String htmlText = readTextFromFile(inputHtml);
//添加段落并写入HTML文本
sec.addParagraph().appendHTML(htmlText);
//将文档另存为PDF
doc.saveToFile("HTMLstringToPDF.pdf", FileFormat.PDF);
doc.dispose();
}
public static String readTextFromFile(String fileName) throws IOException {
StringBuffer sb = new StringBuffer();
BufferedReader br = new BufferedReader(new FileReader(fileName));
String content;
while ((content = br.readLine()) != null) {
sb.append(content);
}
return sb.toString();
}
}
2. 将Html file转为PDF
加载Html文件,通过saveToFile()方法直接保存为PDF。

import com.spire.doc.*;
import com.spire.doc.documents.XHTMLValidationType;
public class HtmlToPDF2 {
public static void main(String[] args) {
//加载HTML文档
Document doc = new Document();
doc.loadFromFile("sample.html", FileFormat.Html, XHTMLValidationType.None);
//文档另存为PDF
doc.saveToFile("HTMLToPDF.pdf",FileFormat.PDF);
doc.dispose();
}
}。

合集下载

链接转pdf java

链接转pdf java

在Java中将链接转换为PDF文件,通常需要使用一些第三方库,如Jsoup 用于抓取网页内容,然后使用iText或PDFBox等库将HTML内容转换为PDF 格式。

以下是一个基本的步骤示例:
1. 添加依赖项:
对于Jsoup:在你的Maven或Gradle构建文件中添加Jsoup依赖。

对于iText或PDFBox:添加相应的PDF生成库依赖。

2. 使用Jsoup抓取网页内容:
java代码:
3. 将HTML内容转换为PDF:
如果使用iText:
java代码:
如果使用PDFBox:
java代码:
注意:上述PDFBox示例中并没有直接将HTML转换为PDF,因为PDFBox 本身并不直接支持HTML到PDF的转换。

你可能需要结合使用Flying Saucer 或Apache FOP等其他库来实现这一功能。

请根据你的具体需求和环境选择合适的库和方法进行链接转PDF的操作。

同时,由于网络抓取和PDF生成可能会涉及到版权和许可问题,确保你在进行此类操作时遵守相关法律法规和网站的使用条款。

html转pdf的几种方法

html转pdf的几种方法

html转pdf的几种方法
有几种方法可以将HTML文件转换为PDF文件。

以下是其中一些常见的方法:
1.使用在线转换工具:有很多在线工具可以将HTML文件转换为
PDF格式,例如pdfcrowd、HTML to PDF等。

你只需上传HTML
文件,选择转换选项,然后等待转换完成并下载生成的PDF文
件。

2.使用浏览器打印功能:现代的Web浏览器(如Google Chrome
和Mozilla Firefox)通常都内置了“打印”功能,并提供将网页内
容保存为PDF文件的选项。

只需打开HTML文件,点击浏览器
菜单中的“打印”选项,然后选择“保存为PDF”或类似选项即可。

3.使用第三方库或工具:有一些专门的库和工具可以在编程环境
中将HTML转换为PDF。

例如,使用Python可以使用库如pdfkit、
WeasyPrint、PyPDF2等。

这些库允许你以编程方式加载HTML
文件并将其转换为PDF。

4.使用专业的PDF转换软件:还有一些专业的PDF转换软件,可
以将HTML文件转换为PDF。

这些软件通常提供更多的自定义
选项和功能,例如调整页面布局、添加水印等。

每种方法都有其优缺点,选择最适合你的方法取决于你的需求和偏好。

如果只是偶尔需要将HTML转换为PDF,那么在线工具或浏览器打印功能可能是最简单的选择。

如果需要在程序中自动化转换,那么使用相关的库或工具会更合适。

.NET(C#)中使用pdf2htmlEX实现pdf向html的格式转换器word精品文档3页

.NET(C#)中使用pdf2htmlEX实现pdf向html的格式转换器word精品文档3页

(C#)中使用pdf2htmlEX实现pdf向html的格式转换器1 背景目前,网络阅读平台在线阅读pdf文档的较为流行的解决方案是将pdf 文档转换成swf格式,然后使用flash播放器进行播放。

该解决方案的缺点较多:一,对于没有安装flash播放器的用户,pdf文档内容可能不能正常显示;二,使用flash在线播放容易导致清晰度降低,影响阅读;三,用户无法复制其中的内容;四,对屏幕尺寸各异的移动设备缺乏自适应能力。

将pdf转换成html文档则可以解决上述问题。

网络上和文献中分享的该领域的技术大部分是通过Java语言实现的。

笔者通过查阅文献和相关技术资料,结合本人的开发实践,提供了(C#)中基于pdf2htmlEX开源工具的格式转换器的实现技术。

2 使用pdf2htmlEX在(C#)中实现pdf向html的转换2.1 pdf2htmlEX介绍pdf 转换为html(下文部分地方简称为pdf2html)的技术思路是将pdf文档中的文字、图片、字体等信息提取出来,然后按照html的语法写入html文档中[1]。

pdf2htmlEX是免费使用的可高保真地对pdf至html 转换的工具,作者为王璐,在网上能找到较多的版本,笔者所使用的版本的下载地址是:http://download.csdn/detail/zhouyifan2009/8552783。

pdf2htmlEX的主要特点有以下四个:首先,它能准确提取字体,保证最大限度地原样输出;第二,保证渲染准确性,针对Web进行优化,如对文件进行必要的压缩等;第三,其他内容用背景图片的形式显示;第四,单文件输出,即转换结果是生成一个html文件,图片等信息不存放在单独的文件中。

[2]2.2 实现步骤pdf2htmlEX工具是控制台程序,没有自己的用户界面(点击pdf2htmlEX.exe文件时,程序窗口一闪而过,用户不能直接使用),必须由操作系统自带的cmd.exe调用或者其他第三方程序调用来实现它的功能。

poihtml转pdf 带表格

poihtml转pdf 带表格

poihtml转pdf 带表格传统的办公转换文件工具仍然是非常重要的。

POIHtml转PDF带表格是其中一种。

本篇文章将为读者介绍如何使用POIHtml转换器,将HTML文件带表格的内容转为PDF格式。

第一步:下载并安装POIHtml转换器工具POIHtml转换器是一个Java开发工具,任何具有Java环境的计算机都可以运行。

在网上搜索并下载POIHtml转换器程序包,将其解压并创建一个文件夹。

在文件夹中将包含POIHtml转换器的“jar”文件和一个例子HTML文件。

第二步:准备HTML文件和表格在POIHtml转换器工具的文件夹中,打开“example.html”文件并使用HTML标记创建一个包含表格的文件。

这个表格可以有一个或多个行和列。

第三步:编写Java代码在一个文本编辑器中打开一个新文件,输入以下代码:```javaimport java.io.*;import com.lowagie.text.*;import com.lowagie.text.pdf.*;import org.xhtmlrenderer.pdf.ITextRenderer;public class HtmlToPDF {public static void main(String[] args) throws DocumentException, IOException {OutputStream os = new FileOutputStream("example.pdf"); //创建PDF文件ITextRenderer renderer = new ITextRenderer();renderer.setDocument(new File("example.html"));yout();renderer.createPDF(os);}}```将“example.html”中的内容转换为PDF,将其保存为“example.pdf”。

Java实现HTML代码生成PDF文档

Java实现HTML代码生成PDF文档

1、IText实现html2pdf,速度快,纠错能力差,支持中文(要求HTML使用unicode编码),但中支持一种中文字体,开源。

2、Flying Sauser实现html2pdf,纠错能力差,支持多种中文字体(部分样式不能识别),开源。

3、PD4ML实现html2pdf,速度快,纠错能力强,支持多种中文字体,商业。

(一)IText官网:/测试案例:TestIText.java依赖jar包:iText-2.0.8.jar、iTextAsian.jar(支持中文)下面只是一个小的测试案例,如果项目中使用到了该组件可以参考API完成项目组中相应的功能![c-sharp]view plaincopyprint?1.import java.io.FileOutputStream;2.import java.io.FileReader;3.import java.util.ArrayList;4.import com.lowagie.text.Document;5.import com.lowagie.text.Element;6.import com.lowagie.text.Font;7.import com.lowagie.text.PageSize;8.import com.lowagie.text.Paragraph;9.import com.lowagie.text.html.simpleparser.HTMLWorker;10.importcom.lowagie.text.html.simpleparser.StyleSheet;11.import com.lowagie.text.pdf.BaseFont;12.import com.lowagie.text.pdf.PdfWriter;13.public class TestIText{14.public static void main(String[] args) {15.TestIText ih = new TestIText();16.ih.htmlCodeComeFromFile("D://Test//iText.html","D://Test//iText_1.pdf");17.ih.htmlCodeComeString("Hello中文","D://Test//iText_2.pdf");18.}19.20.public void htmlCodeComeFromFile(String filePath,String pdfPath) {21.Document document = new Document();22.try {23.StyleSheet st = new StyleSheet();24.st.loadTagStyle("body", "leading", "16,0");25.PdfWriter.getInstance(document, newFileOutputStream(pdfPath));26.document.open();27.ArrayList p = HTMLWorker.parseToList(newFileReader(filePath), st);28.for(int k = 0; k < p.size(); ++k) {29.document.add((Element)p.get(k));30.}31.document.close();32.System.out.println("文档创建成功");33.}catch(Exception e) {34. e.printStackTrace();35.}36.}37.38.public void htmlCodeComeString(String htmlCode,String pdfPath) {39.Document doc = new Document(PageSize.A4);40.try {41.PdfWriter.getInstance(doc, newFileOutputStream(pdfPath));42.doc.open();43.// 解决中文问题44.BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);45.Font FontChinese = new Font(bfChinese, 12,Font.NORMAL);46.Paragraph t = new Paragraph(htmlCode, FontChinese);47.doc.add(t);48.doc.close();49.System.out.println("文档创建成功");50.}catch(Exception e) {51. e.printStackTrace();52.}53.}54.}1.import java.io.File;2.import java.io.FileOutputStream;3.import java.io.OutputStream;4.5.import org.xhtmlrenderer.pdf.ITextFontResolver;6.import org.xhtmlrenderer.pdf.ITextRenderer;7.8.import com.lowagie.text.pdf.BaseFont;9.10.public class TestFlyingSauser {11.public static void main(String[] args) throwsException {12.demo_1();13.demo_2();14.}15.16.// 不支持中文17.public static void demo_1() throws Exception {18.String inputFile = "D:/Test/flying.html";19.String url = newFile(inputFile).toURI().toURL().toString();20.String outputFile = "D:/Test/flying.pdf";21.OutputStream os = new FileOutputStream(outputFile);22.ITextRenderer renderer = new ITextRenderer();23.renderer.setDocument(url);yout();25.renderer.createPDF(os);26.os.close();27.}28.29.// 支持中文30.public static void demo_2() throws Exception {31.String outputFile = "D:/Test/demo_3.pdf";32.OutputStream os = new FileOutputStream(outputFile);33.ITextRenderer renderer = new ITextRenderer();34.ITextFontResolver fontResolver =renderer.getFontResolver();35.fontResolver.addFont("C:/Windows/fonts/simsun.ttc",BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);36.StringBuffer html = new StringBuffer();37.// DOCTYPE 必需写否则类似于这样的字符解析会出现错误38.html.append("<!DOCTYPE html PUBLIC /"-//W3C//DTDXHTML 1.0 Transitional//EN/"/"/TR/xhtml1/DTD/xhtml1-transitional.dtd/">");39.html.append("<htmlxmlns=/"/1999/xhtml/">").append("<head>")40..append("<meta http-equiv=/"Content-Type/"content=/"text/html; charset=UTF-8/" />")41..append("<mce:style type=/"text/css/"><!--42.body {font-family: SimSun;}43.--></mce:style><style type=/"text/css/"mce_bogus="1">body {font-family: SimSun;}</style>")44..append("</head>")45..append("<body>");46.html.append("<div>支持中文!</div>");47.html.append("</body></html>");48.renderer.setDocumentFromString(html.toString());49.// 解决图片的相对路径问题50.//renderer.getSharedContext().setBaseURL("file:/F:/teste /html/");yout();52.renderer.createPDF(os);53.os.close();54.}55.}/sns/space.php?uid=4&do=blog&id=582关于Flying Sauser的一篇非常不错的文章:/pub/a/today/2007/06/26/generating-pdfs-with-flying-saucer-and-itext.html(三)PD4ML官网下载:/downloads.htm依赖jar包:pd4ml_demo.jar、pd4ml__css2.jar、fonts.jar下面只是一个小的测试案例,如果项目中使用到了该组件可以参考API完成项目组中相应的功能![java]view plaincopyprint?1.import java.awt.Insets;2.import java.io.File;3.import java.io.FileOutputStream;4.import java.io.StringReader;5.6.import org.zefer.pd4ml.PD4Constants;7.import org.zefer.pd4ml.PD4ML;8.9.public class Converter {10.public static void main(String[] args) throwsException {11.Converter converter = new Converter();12.converter.generatePDF_2(newFile("D:/Test/demo_ch_pd4ml_a.pdf"), "D:/Test/a.htm");13.File pdfFile = newFile("D:/Test/demo_ch_pd4ml.pdf");14.StringBuffer html = new StringBuffer();15.html.append("<html>")16..append("<head>")17..append("<meta http-equiv=/"Content-Type/"content=/"text/html; charset=UTF-8/" />")18..append("</head>")19..append("<body>")20..append("<font face=/"KaiTi_GB2312/">")21..append("<font color='red' size=22>显示中文</font>")22..append("</font>")23..append("</body></html>");24.StringReader strReader = newStringReader(html.toString());25.converter.generatePDF_1(pdfFile, strReader);26.}27.// 手动构造HTML代码28.public void generatePDF_1(File outputPDFFile,StringReader strReader) throws Exception {29.FileOutputStream fos = newFileOutputStream(outputPDFFile);30.PD4ML pd4ml = new PD4ML();31.pd4ml.setPageInsets(new Insets(20, 10, 10, 10));32.pd4ml.setHtmlWidth(950);33.pd4ml.setPageSize(pd4ml.changePageOrientation(PD4Constants.A4));eTTF("java:fonts", true);35.pd4ml.setDefaultTTFs("KaiTi_GB2312", "KaiTi_GB2312","KaiTi_GB2312");36.pd4ml.enableDebugInfo();37.pd4ml.render(strReader, fos);38.}39.40.// HTML代码来自于HTML文件41.public void generatePDF_2(File outputPDFFile,String inputHTMLFileName) throws Exception {42.FileOutputStream fos = newFileOutputStream(outputPDFFile);43.PD4ML pd4ml = new PD4ML();44.pd4ml.setPageInsets(new Insets(20, 10, 10, 10));45.pd4ml.setHtmlWidth(950);46.pd4ml.setPageSize(pd4ml.changePageOrientation(PD4Constants.A4));eTTF("java:fonts", true);48.pd4ml.setDefaultTTFs("KaiTi_GB2312", "KaiTi_GB2312","KaiTi_GB2312");49.pd4ml.enableDebugInfo();50.pd4ml.render("file:" + inputHTMLFileName, fos);51.}52.}。

html2pdf 方法

html2pdf 方法

html2pdf是一个JavaScript库,可以将HTML文档转换为PDF文件。

以下是使用html2pdf方法的步骤:1. 引入html2pdf库文件```html<script src="/ajax/libs/html2pdf.js/0.9.3/html2pdf.bundle.min.js"></script>```2. 创建一个HTML元素,将要转换的内容放入其中```html<div id="content"><h1>Hello World</h1><p>This is a sample HTML content that will be converted to PDF.</p></div>```3. 在JavaScript代码中调用html2pdf方法,将HTML元素转换为PDF并下载```javascriptfunction downloadPDF() {var element = document.getElementById('content'); // 获取要转换的HTML元素var opt = {margin: 1,filename: 'sample.pdf',image: { type: 'jpeg', quality: 0.98 },html2canvas: { scale: 2 },jsPDF: { unit: 'in', format: 'letter', orientation: 'portrait' }};html2pdf().set(opt).from(element).save(); // 调用html2pdf方法,将HTML元素转换为PDF 并下载}```在上面的代码中,我们首先获取了要转换的HTML元素,然后定义了一些选项,如页面边距、文件名、图片质量等。

Java将Html转为PDF(二)

Java将Html转为PDF(⼆)前⾯介绍了如何,该⽅法需要使⽤Spire.PDF for Java 3.6.6或者之后的新版本,可根据⾃⼰的系统选择不同插件来实现转换。

本⽂提供另外⼀种转换⽅法,需要使⽤Spire.Doc for Java 3.9.4或者之后的新版本。

关于Jar包下载及导⼊⽅法1:。

解压,找到lib⽂件夹的Spire.Doc.jar⽂件,并在Java程序中导⼊jar⽂件⽅法2:在Maven程序中配置Pom.xml⽂件,如下(需要指定Maven仓库路径以及Spire.Doc的依赖):<repositories><repository><id>com.e-iceblue</id><url>/repository/maven-public/</url></repository></repositories><dependencies><dependency><groupId> e-iceblue </groupId><artifactId>spire.doc</artifactId><version>3.9.4</version></dependency></dependencies>完成配置后,导⼊jar。

详细步骤可参考官⽅⽂档。

Html转PDF⽅法转换时可以将Html String或者Html file转为PDF,参见以下代码⽅法:1. 将Html String转为PDF创建Word⽂档,将Html String添加到Word段落,通过saveToFile()保存为PDF⽂档。

import com.spire.doc.*;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public class HtmlToPDF1 {public static void main(String[] args) throws IOException{String inputHtml = "InputHtml.txt";//新建Document对象Document doc = new Document();//添加sectionSection sec = doc.addSection();String htmlText = readTextFromFile(inputHtml);//添加段落并写⼊HTML⽂本sec.addParagraph().appendHTML(htmlText);//将⽂档另存为PDFdoc.saveToFile("HTMLstringToPDF.pdf", FileFormat.PDF);doc.dispose();}public static String readTextFromFile(String fileName) throws IOException {StringBuffer sb = new StringBuffer();BufferedReader br = new BufferedReader(new FileReader(fileName));String content;while ((content = br.readLine()) != null) {sb.append(content);}return sb.toString();}}2. 将Html file转为PDF加载Html⽂件,通过saveToFile()⽅法直接保存为PDF。

html转换为pdf案例的一些总结(多图推荐)

html转换为pdf案例的⼀些总结(多图推荐)由于⼯作所需,最近花时间研究了html转换为pdf的功能。

html转换为pdf的关键技术是如何处理⽹页中复杂的css样式,通过在⽹上收集资料,发现⽬前html 转换为pdf的解决⽅案主要分为三类:客户端模式:前后台调⽤客户端程序,利⽤客户端程序的功能完成pdf⽂件转换。

本次测试⼯具有:wkhtmltopdf和PhantomJS。

java jar包解析类模式:java代码解析css样式,翻译html⽂件为pdf⽂件。

本次测试类有:IText,Flying Sauser,PD4ML。

js 前端解析模式:js前端解析html⽂件为pdf⽂件,本次测试案例有:html2canvas。

本次针对⽹上介绍的⽅案,结合实际项⽬的需求,做⼀⼀测试,在性能和功能⽅⾯做如下分析。

1.测试页⾯介绍通过查看各个转换案例在⽹上的介绍,简单的html样式,⼀般的表格样式在做pdf⽂件转换时,以上的⽅案均⽀持。

但考虑到实际业务的需要,本次测试特意⽤到了bootstrap (v 3.3.6)的css样式,同时页⾯也应⽤了css3的新特性。

基于这样的新特性编写⼀个静态的html页⾯,html页⾯在浏览器中的展⽰效果如下:2.wkhtmltopdf测试技术特点:Wkhtmltopdf可以直接把浏览器中浏览的⽹页转换成⼀个pdf,他是⼀个把html页⾯转换成pdf的软件(需要安装在服务器上)。

使⽤时可通过java代码调⽤cmd指令完成⽹页转换为pdf的功能。

功能测试:直接在cmd⾥输⼊测试指令,可查看处理进度。

第⼀个参数:wkhtmltopdf.exe所在的路径第⼆个参数:需要转换为pdf的html页⾯第三个参数:pdf⽂件路径及⽂件名页⾯导出效果如下:测试说明:通过测试发现,wkhtmltopdf对bootstap的CSS样式整体⽀持较好。

对css3的新特性如圆形图⽚样式⽀持⾏不好。

部分页⾯样式会失效。

Java 转PDF为Word、图片、html、XPS、SVG、PDFA

Java 将PDF 转为Word、图片、SVG、XPS、Html、PDF/A本文将介绍通过Java编程来实现PDF文档转换的方法。

包括:PDF转为WordPDF转为图片PDF转为HtmlPDF转为SVG将PDF每一页转为单个的SVG将一个包含多页的PDF文档转为一个SVGPDF转为XPSPDF转为PDF/A使用工具:Free Spire.PDF for Java(免费版)Jar文件获取及导入:方法1:通过官网下载jar文件包。

下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入Java程序。

方法2:可通过maven仓库安装导入。

参考导入方法。

Java代码示例【示例1】PDF 转WordPdfDocument pdf = new PdfDocument("test.pdf");pdf.saveToFile("ToWord.docx",FileFormat.DOCX);【示例2】PDF转图片支持的图片格式包括Jpeg, Jpg, Png, Bmp, Tiff, Gif, EMF等。

这里以保存为Png格式为例。

import com.spire.pdf.*;import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;public class PDFtoimage {public static void main(String[] args) throws IOException {PdfDocument pdf = new PdfDocument("test.pdf");BufferedImage image;for(int i = 0; i< pdf.getPages().getCount();i++){image = pdf.saveAsImage(i);File file = new File( String.format("ToImage-img-%d.png", i)); ImageIO.write(image, "PNG", file);}pdf.close();}}【示例3】PDF转HtmlPdfDocument pdf = new PdfDocument("test.pdf");pdf.saveToFile("ToHTML.html", FileFormat.HTML);【示例4】PDF转SVG1.转为单个svgPdfDocument pdf = new PdfDocument("test.pdf");pdf.saveToFile("ToSVG.svg", FileFormat.SVG);2.多页pdf转为一个svgPdfDocument pdf = new PdfDocument("sampe.pdf");pdf.getConvertOptions().setOutputToOneSvg(true);pdf.saveToFile("ToOneSvg.svg",FileFormat.SVG);【示例5】PDF 转XPSPdfDocument pdf = new PdfDocument("test.pdf");pdf.saveToFile("ToXPS.xps", FileFormat.XPS);【示例6】PDF转PDF/Aimport com.spire.pdf.*;import com.spire.pdf.graphics.PdfMargins;import java.awt.geom.Dimension2D;public class PDFtoPDFA {public static void main(String[]args){//加载测试文档PdfDocument pdf = new PdfDocument();pdf.loadFromFile("test.pdf");//转换为Pdf_A_1_B格式PdfNewDocument newDoc = new PdfNewDocument();newDoc.setConformance(PdfConformanceLevel.Pdf_A_1_B);PdfPageBase page;for ( int i=0;i< pdf.getPages().getCount();i++) {page = pdf.getPages().get(i);Dimension2D size = page.getSize();PdfPageBase p = newDoc.getPages().add(size, new PdfMargins(0)); page.createTemplate().draw(p, 0, 0);}//保存结果文件newDoc.save("ToPDFA.pdf");newDoc.close();}}(本文完)。

java html转pdf方案

java html转pdf方案在 Java 中,可以使用第三方库来实现将 HTML 转换为 PDF。

以下是一个使用Flying Saucer 和 iText 库的示例:1. 首先,需要在项目中添加 Flying Saucer 和 iText 的依赖:```java<dependency><groupId>org.xhtmlrenderer</groupId><artifactId>flying-saucer-pdf</artifactId><version>9.1.22</version></dependency><dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13.2</version></dependency>```2. 创建一个 HTML 文件,例如 `example.html`,并保存到本地文件系统中。

3. 使用以下代码将 HTML 文件转换为 PDF 文件:```javaimport java.io.File;import java.io.FileOutputStream;import java.io.OutputStream;import org.xhtmlrenderer.pdf.ITextRenderer;public class HtmlToPdfConverter {public static void main(String[] args) throws Exception {// 输入 HTML 文件路径和输出 PDF 文件路径String inputPath = "example.html";String outputPath = "example.pdf";// 创建 ITextRenderer 对象并设置 PDF 输出流ITextRenderer renderer = new ITextRenderer();OutputStream outputStream = new FileOutputStream(new File(outputPath));renderer.setDocument(new File(inputPath));renderer.setOutputStream(outputStream);// 渲染 PDF 并关闭输出流yout();renderer.close();outputStream.close();}}```在上述代码中,我们创建了一个 `ITextRenderer` 对象,并将其配置为从输入HTML 文件渲染 PDF 文件,并将输出流设置为一个文件输出流。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档