Java 转PDF为Word、图片、html、XPS、SVG、PDFA
链接转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生成可能会涉及到版权和许可问题,确保你在进行此类操作时遵守相关法律法规和网站的使用条款。
使用模板引擎生成pdf的几种方法

使用模板引擎生成pdf的几种方法
使用模板引擎生成PDF有以下几种方法:
1. 使用Java生成PDF:利用Freemarker模板引擎生成HTML,然后使用iText包进行转换,转换过程需要解决中文显示问题,需要在Freemarker模板文件中设置<body style="font-family:SimSun;">以解决该问题。
2. 使用Spring Boot和FreeMarker:通过在applicationproperties 中配置后缀、设置模板文件路径和覆盖默认属性值,可在SpringBoot 中使用FreeMarker生成Web应用。
3. 使用wkhtmltopdf:这是一种高性能的工具,可以将HTML转换为PDF,可以生成美观且实用的界面。
4. 使用SwingUI和JFreePDF:利用SwingUI生成用户界面,再使用JFreePDF将生成的HTML转换为PDF。
虽然这种方法可以生成PDF,但界面样式难看且不兼容太新的js语言。
5. 使用art-template:这是一种新的高性能JavaScript模板引擎,可以将数据与HTML模板更加友好地结合起来,支持服务器端和浏览器端使用,并使用标准语法进行渲染。
需要注意的是,不同的方法可能适用于不同的需求和场景,具体选择哪一种方法需要根据实际情况进行权衡和评估。
JAVA中pdf转图片的几种方法

JAVA中pdf转图⽚的⼏种⽅法 JAVA中实现pdf转图⽚可以通过第三⽅提供的架包,这⾥介绍⼏种常⽤的,可以根据⾃⾝需求选择使⽤。
⼀、icepdf。
有收费版和开源版,⼏种⽅法⾥最推荐的。
转换的效果⽐较好,能识别我⼿头⽂件中的中⽂,就是转换后可能字体的关系部分字间距有点宽。
因为,字体⽀持是要收费的,所以转换的图⽚会带有官⽅的⽔印。
去⽔印的⽅法可以查看另⼀篇⽂章:1、下载icepdf的架包,并导⼊项⽬中,这⾥⽤到4个,如下:2、附上代码例⼦:1 String filePath = "c:/test.pdf";2 Document document = new Document();3 document.setFile(filePath);4 float scale = 2.5f;//缩放⽐例5 float rotation = 0f;//旋转⾓度67 for (int i = 0; i < document.getNumberOfPages(); i++) {8 BufferedImage image = (BufferedImage)9 document.getPageImage(i, GraphicsRenderingHints.SCREEN, org.icepdf.core.pobjects.Page.BOUNDARY_CROPBOX, rotation, scale);10 RenderedImage rendImage = image;11 try {12 File file = new File("c:/iecPDF_" + i + ".png");13 ImageIO.write(rendImage, "png", file);14 } catch (IOException e) {15 e.printStackTrace();16 }17 image.flush();18 }19 document.dispose(); 例⼦中是pdf转png格式的,也可以将12、13⾏改成jpg,转出jpg格式的,但是从转换效果来看png的清晰度会相对较⾼。
java根据模板生成word文档,兼容富文本、图片

java根据模板⽣成word⽂档,兼容富⽂本、图⽚Java⾃动⽣成带图⽚、富⽂本、表格等的word⽂档使⽤技术 freemark+jsoup ⽣成mht格式的伪word⽂档,已经应⽤项⽬中,确实是可⾏的,⽆论是富⽂本中是图⽚还是表格,都能在word中展现出来使⽤jsoup解析富⽂本框,将其中的图⽚进⾏Base64位转码,使⽤freemark替换模板的占位符,将变量以及图⽚资源放⼊模板中在输出⽂件maven地址<!--freemarker--><!--<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version></dependency><!--JavaHTMLParser--><!--<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.10.2</version></dependency>制作word的freemark模板1. 先将wrod的格式内容定义好,如果需要插⼊参数的地⽅以${xxx}为表⽰,例:${product}模板例⼦: 2. 将模板另存为mht格式的⽂件,打开该⽂件检查每个变量(${product})是否完整,有可能在${}中出现其他代码,需要删除。
3. 将mht⽂件变更⽂件类型,改成ftl为结尾的⽂件,引⼊到项⽬中 4. 修改ftl模板⽂件,在⽂件中加上图⽚资源占位符${imagesBase64String},${imagesXmlHrefString}具体位置如下图所⽰: 5. ftl⽂件中由⼏个关键配置需要引⼊到代码中:docSrcParent = word.filesdocSrcLocationPrex =nextPartId = 01D2C8DD.BC13AF60上⾯三个参数,在模板⽂件中可以找到,需要进⾏配置,如果配置错误,图⽚⽂件将不会显⽰下⾯这三个参数固定,切换模板也不会改变shapeidPrex = _x56fe__x7247__x0020typeid = #_x0000_t75spidPrex = _x0000_i 6. 模板引⼊之后进⾏代码编辑源码地址为:下载源码后需要进⾏调整下内容:1. 录⼊步骤5中的6个参数2. 修改freemark获取模板⽅式下⾯这种⽅式能获取模板,但是在项⽬打包之后⽆法获取jar包内的⽂件Configuration configuration=newConfiguration(Configuration.getVersion());configuration.setDefaultEncoding(StandardCharsets.UTF_8.toString());configuration.setDirectoryForTemplateLoading(newFile(templatePath));Template template=configuration.getTemplate("xxx.ftl");通过流的形式直接创建模板对象Configuration configuration=newConfiguration(Configuration.getVersion());configuration.setDefaultEncoding(StandardCharsets.UTF_8.toString());configuration.setDirectoryForTemplateLoading(newFile(templatePath));InputStream inputStream=newFileInputStream(newFile(templatePath+"/"+templateName)); InputStreamReader inputStreamReader=newInputStreamReader(inputStream,StandardCharsets.UTF_8); Template template=newTemplate(templateName,inputStreamReader,configuration);。
JAVA实现PPT转图片、PDF和SVG

JAVA实现PPT转图⽚、PDF和SVGJava:PPT(X)转图⽚、PDF和SVG⼯作中,PowerPoint⽂档有时需要被转换为PDF/图像⽂件来存档。
下⾯介绍如何在Java 中将PowerPoint⽂档转为图⽚或PDF。
所需⼯具:●Free Spire.Presentation for Java 2.2.3(免费版)●Intellij IDEA导⼊Jar⽂件包:⾸先,在官⽹获取Jar包。
Step 1:下载控件包后解压,进⼊“Project Structure” 界⾯。
(以下是三种在IDEA中快速打开Project Structure界⾯的⽅式,可任意选择⼀种⽅式)Step 2:按以下操作步骤进⾏导⼊。
①选择“Modules”—“Dependencies”,添加外置jar包;②进⼊"Attach File or Directories"界⾯选择jar⽂件路径,然后点击“OK”;③勾选jar路径选项,点击”OK”/”Apply”;④导⼊完成。
如下图:下⾯是PowerPoint源⽂档的截图:JAVA代码⽰例1)PPT(X) 转图⽚定义outputFile⽤于存放⽣成⽂档的⽂件。
使⽤saveAsImage()⽅法将每张幻灯⽚保存为BufferdImage对象,然后将图像数据写⼊⽂件,并保存为PNG格式。
//系统中ppt⽂件位置String inputFile ="C:\\Users\\Administrator\\Desktop\\Presentation.pptx";//输出⽂件的⽂件夹String outputFile="output";//创建⼀个ppt实例Presentation ppt = new Presentation();//加载ppt⽂件ppt.loadFromFile(inputFile);//保存ppt⽂件为图像⽂件for (int i = 0; i < ppt.getSlides().getCount(); i++) {BufferedImage image = ppt.getSlides().get(i).saveAsImage();String fileName = outputFile + "/" + String.format("ToImage-%1$s.png", i);ImageIO.write(image, "PNG",new File(fileName));}转换结果:2 )PPT(X) 转PDF:创建⼀个Presentation类对象来保存要转换的PowerPoint⽂件,然后调⽤相同对象的saveToFile()⽅法将⽂档保存为PDF⽂件。
Java 将图片转为PDF

Java 将图片转为PDF下面以Java代码介绍如何将图片转换PDF格式的文件,并保存到本地路径。
【方法解释】加载图片时,通过PdfImage类提供的方法fromFile(String imagepath)方法;转为PDF格式时没有直接的方法来实现转换,这里是将图片通过drawImage(PdfImage image, double x, double y, double width, double height)方法绘制到PDF页面的方式来实现,最后保存PDF文件。
【程序运行环境】●Windows 10●IntelliJ IDEA(jdk 1.8.0)●Free Spire.PDF for Java(Jar包)●测试文件:.jpg格式的图片【具体步骤】1.导入jar包按照如下图步骤,将jar文件导入Java程序:完成导入后,如下效果:2. Java 代码import com.spire.pdf.*;import com.spire.pdf.graphics.PdfImage;public class ImgToPDF {public static void main(String[] args) {//新建Pdf 文档PdfDocument pdf = new PdfDocument();//添加一页PdfPageBase page = pdf.getPages().add();//加载图片PdfImage image = PdfImage.fromFile("logo.jpg");double widthFitRate = image.getPhysicalDimension().getWidth() / page.getCanvas().getClientSize().getWidth();double heightFitRate = image.getPhysicalDimension().getHeight() / page.getCanvas().getClientSize().getHeight();double fitRate = Math.max(widthFitRate, heightFitRate);//图片大小double fitWidth = image.getPhysicalDimension().getWidth() / fitRate;double fitHeight = image.getPhysicalDimension().getHeight() / fitRate;//绘制图片到PDFpage.getCanvas().drawImage(image, 0, 30, fitWidth, fitHeight);//保存文档pdf.saveToFile("ImgToPDF.pdf");pdf.dispose();}}注:代码中的文件路径为IDEA程序项目文件夹路径,如:F:\IDEAProject\Conversion_PDF\logo.jpg ,文件路径也可以自定义。
JAVA动态生成word和pdf

java生成word的几种方案1、Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。
使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。
DLL动态链接库的生成需要windows平台的支持。
2、Apache POI包括一系列的API,它们可以操作基于MicroSoft OLE 2 CompoundDocument Format的各种格式文件,可以通过这些API在Java中读写Excel、Word 等文件。
他的excel处理很强大,对于word还局限于读取,目前只能实现一些简单文件的操作,不能设置样式。
3、Java2word是一个在java程序中调用MS Office Word 文档的组件(类库)。
该组件提供了一组简单的接口,以便java程序调用他的服务操作Word 文档。
这些服务包括:打开文档、新建文档、查找文字、替换文字,插入文字、插入图片、插入表格,在书签处插入文字、插入图片、插入表格等。
填充数据到表格中读取表格数据,1.1版增强的功能:指定文本样式,指定表格样式。
如此,则可动态排版word 文档。
4、iText操作Excel还行。
对于复杂的大量的word也是噩梦。
用法很简单, 但是功能很少, 不能设置打印方向等问题。
5、JSP输出样式基本不达标,而且要打印出来就更是惨不忍睹。
6、用XML做就很简单了。
Word从2003开始支持XML格式,大致的思路是先用office2003或者2007编辑好word的样式,然后另存为xml,将xml翻译为FreeMarker模板,最后用java来解析FreeMarker模板并输出Doc。
经测试这样方式生成的word文档完全符合office标准,样式、内容控制非常便利,打印也不会变形,生成的文档和office中编辑文档完全一样。
java生成pdf方案总结1. Jasper Report生成pdf:设计思路是先生成模板,然后得到数据,最后将两者整合得到结果。
java jodconverter excel转pdf参数

Java JODConverter是一个开源的Java库,可以将各种类型的文档转换为PDF格式。
在将Excel 文件转换为PDF时,可以设置一些参数来自定义转换过程。
以下是一些常见的参数:转换模式:JODConverter支持多种转换模式,包括直接转换和模板转换。
直接转换是将原始Excel文件直接转换为PDF,而模板转换则是使用预定义的模板来生成PDF。
页面设置:可以指定PDF文件的页面大小、方向和边距等设置。
字体和样式:可以指定要使用的字体和样式,以及是否要在PDF中保留原始Excel中的格式。
水印和背景:可以添加水印和背景图像到PDF文件中。
安全性:可以设置PDF文件的安全性选项,例如是否允许打印、复制和修改等操作。
输出路径:指定转换后的PDF文件的输出路径。
以下是一个示例代码片段,演示如何使用JODConverter将Excel文件转换为PDF,并设置一些参数:javaimport java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import ermodel.Workbook;import ermodel.XSSFWorkbook;import org.jodconverter.core.document.DocumentStyle;import org.jodconverter.core.document.DocumentStyleSheet;import org.jodconverter.core.document.DocumentTemplate;import org.jodconverter.core.document.DefaultDocumentStyleSheet;import org.jodconverter.core.document.DefaultDocumentTemplate;import org.jodconverter.core.office.OfficeService;import org.jodconverter.core.office.SimpleOfficeService;public class ExcelToPDFConverter {public static void main(String[] args) throws IOException {// Load Excel fileFileInputStream inputStream = new FileInputStream(new File("input.xlsx"));Workbook workbook = new XSSFWorkbook(inputStream);// Create PDF output fileFileOutputStream outputStream = new FileOutputStream(new File("output.pdf"));// Create office service and document style sheetOfficeService officeService = SimpleOfficeService.getInstance();DocumentStyleSheet styleSheet = new DefaultDocumentStyleSheet();// Create document template with custom style and template contentDocumentTemplate template = new DefaultDocumentTemplate(styleSheet);template.addContent("Hello World!"); // Add content to the template// Convert Excel to PDF with custom parametersofficeService.convert(workbook, outputStream, template, null, null); // Set custom parameters here// Close streams and exitoutputStream.close();inputStream.close();}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java 将PDF 转为Word、图片、SVG、XPS、Html、PDF/A
本文将介绍通过Java编程来实现PDF文档转换的方法。
包括:
PDF转为Word
PDF转为图片
PDF转为Html
PDF转为SVG
将PDF每一页转为单个的SVG
将一个包含多页的PDF文档转为一个SVG
PDF转为XPS
PDF转为PDF/A
使用工具:Free Spire.PDF for Java(免费版)
Jar文件获取及导入:
方法1:通过官网下载jar文件包。
下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入Java程序。
方法2:可通过maven仓库安装导入。
参考导入方法。
Java代码示例
【示例1】PDF 转Word
PdfDocument 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转Html
PdfDocument pdf = new PdfDocument("test.pdf");
pdf.saveToFile("ToHTML.html", FileFormat.HTML);
【示例4】PDF转SVG
1.转为单个svg
PdfDocument pdf = new PdfDocument("test.pdf");
pdf.saveToFile("ToSVG.svg", FileFormat.SVG);
2.多页pdf转为一个svg
PdfDocument pdf = new PdfDocument("sampe.pdf");
pdf.getConvertOptions().setOutputToOneSvg(true);
pdf.saveToFile("ToOneSvg.svg",FileFormat.SVG);
【示例5】PDF 转XPS
PdfDocument pdf = new PdfDocument("test.pdf");
pdf.saveToFile("ToXPS.xps", FileFormat.XPS);
【示例6】PDF转PDF/A
import 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();
}
}
(本文完)。