本教程展示了如何创建一个Java应用程序创建了一个新的PDF文档,装载注释的AnnContainer
注释,并展示了如何保存到输出。
概述 | |
---|---|
总结 | 本教程介绍了如何注释加载到一个新的PDF文档并保存Java应用程序中的输出 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(2 KB) |
平台 | Java应用程序 |
IDE | Eclipse |
开发许可 | 下载LEADTOOLS |
试试用另一种语言 |
|
在工作之前燃烧LEADDocument——Java注释教程中,熟悉的基本步骤,创建一个项目通过审查添加引用和设置一个许可证教程。
从项目中创建的副本添加引用和设置一个许可证教程。如果你没有这个项目,按照这个教程中的步骤创建它。
的引用需要取决于项目的目的。可以由当地添加引用. jar
文件位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Java
。
对于这个项目,还需要以下引用:
leadtools.annotations.engine.jar
leadtools.annotations.rendering.java.jar
leadtools.caching.jar
leadtools.codecs.jar
leadtools.document.converter.jar
leadtools.document.jar
leadtools.document.pdf.jar
leadtools.document.writer.jar
leadtools.drawing.jar
leadtools.imageprocessing.core.jar
leadtools.jar
leadtools.pdf.annotations.jar
leadtools.pdf.jar
leadtools.svg.jar
许可解锁项目需要的特性。它必须设置工具箱函数被调用之前。详情,包括教程为不同的平台,请参考设置一个运行时许可。
有两种类型的运行时许可证:
请注意
添加LEADTOOLS NuGet和本地引用设置许可中会详细介绍添加引用和设置一个许可证教程。
与项目创建、添加引用,许可,可以开始编码。
在Project Explorer,打开_Main.java
类并添加以下导入语句进口
块顶部。
进口. io . *;
进口java.nio.file。*;
进口java.net。*;
进口leadtools。*;
进口leadtools.annotations.rendering。*;
进口leadtools.document。*;
进口leadtools.document.converter。*;
进口leadtools.document.writer。*;
添加以下对象作为全局变量:
私人静态DocumentConverter docConverter;
私人静态LEADDocument virtualDocument;
调用所需的方法Main ()
方法来加载需要LEADTOOLS库。
路径添加到源文档文件加载和注释的XML文件。
此外,添加和调用下面的方法SetLicence ()
公共静态无效main (String [] args)抛出IOException {
Platform.setLibPath (“C: \ \ LEADTOOLS22 \ \ Bin \ \ CDLL \ \ x64”);
Platform.loadLibrary (LTLibrary.CODECS);
Platform.loadLibrary (LTLibrary.DOCUMENT);
Platform.loadLibrary (LTLibrary.DOCUMENT_WRITER);
Platform.loadLibrary (LTLibrary.LEADTOOLS);
字符串pdfFile =“C: \ \ LEADTOOLS22 \ \ \ \ \ \图片资源leadtools.pdf”;
字符串annFile =“C: \ \ LEADTOOLS22 \ \ \ \ \ \图片资源leadtools.xml”;
SetLicense ();
InitConverter ();
LoadAnnotations (pdfFile annFile);
如果(virtualDocument ! =零){
BurnAnnotations (virtualDocument);
EmbedAnnotations (virtualDocument);
ExternalSaveAnnotations (virtualDocument);
}
}
添加下面的代码的InitConverter ()
初始化方法DocumentConverter
类
静态无效InitConverter () {
试一试{
docConverter =新DocumentConverter ();
docConverter.setDocumentWriterInstance (新DocumentWriter ());
docConverter.setAnnRenderingEngineInstance (新AnnJavaRenderingEngine ());
System.out.println (String.format (“初始化文档转换器”。));
}抓(异常e) {
System.out.println (e.getMessage ());
}
}
添加以下代码pdfFile LoadAnnotations(字符串,字符串annFile)
方法将创建一个新的PDF和装载注释
静态无效documentFile LoadAnnotations(字符串,字符串annFile) {
试一试{
virtualDocument = DocumentFactory.create (新CreateDocumentOptions ());
URI annUri =新文件(annFile) .toURI ();
LoadDocumentOptions loadOptions =新LoadDocumentOptions ();
loadOptions.setAnnotationsUri (annUri);
LEADDocument childDocument = DocumentFactory。loadFromFile (documentFile loadOptions);
virtualDocument.getPages()阀门(childDocument.getPages () . get (0));
}抓(异常e) {
System.out.println (e.getMessage ());
}
}
使用下面的代码保存到输出注释使用三种方法。
的BurnAnnotations (LEADDocument virtualDocument)
方法将覆盖(燃烧)注释变成一个点阵图像输出
静态无效BurnAnnotations (LEADDocument virtualDocument) {
试一试{
var jobData =新DocumentConverterJobData ();
jobData.setAnnotationsMode (DocumentConverterAnnotationsMode.OVERLAY);
jobData.setDocument (virtualDocument);
jobData.setOutputDocumentFileName (“C: \ \ LEADTOOLS22 \ \ \ \ \ \图片资源BurnAnnotationsDoc.pdf”);
jobData.setRasterImageFormat (RasterImageFormat.RAS_PDF);
jobData.setDocumentFormat (DocumentFormat.USER);
var工作= docConverter.getJobs () .createJob (jobData);
docConverter.getJobs () .runJob(工作);
为(var错误:job.getErrors ())
System.out.println (String.format (“有一个错误:% s”error.getError ()));
如果(job.getErrors () .isEmpty ())
System.out.println (
String.format (”——注释覆盖(燃烧):% s”jobData.getOutputDocumentFileName ()));
}抓(异常e) {
System.out.println (e.getMessage ());
}
}
的EmbedAnnotations (LEADDocument virtualDocument)
方法将注释嵌入一个PDF输出。
静态无效EmbedAnnotations (LEADDocument virtualDocument) {
试一试{
var jobData =新DocumentConverterJobData ();
jobData.setAnnotationsMode (DocumentConverterAnnotationsMode.EMBED);
jobData.setDocument (virtualDocument);
jobData.setOutputDocumentFileName (“C: \ \ LEADTOOLS22 \ \ \ \ \ \图片资源EmbedAnnotationsDoc.pdf”);
jobData.setDocumentFormat (DocumentFormat.PDF);
var工作= docConverter.getJobs () .createJob (jobData);
docConverter.getJobs () .runJob(工作);
为(var错误:job.getErrors ())
System.out.println (String.format (“有一个错误:% s”error.getError ()));
如果(job.getErrors () .isEmpty ())
System.out.println (String.format (”——嵌入注释:% s”jobData.getOutputDocumentFileName ()));
}抓(异常e) {
System.out.println (e.getMessage ());
}
}
的ExternalSaveAnnotations (LEADDocument virtualDocument)
方法将保存注释到外部XML文件。
静态无效ExternalSaveAnnotations (LEADDocument virtualDocument) {
试一试{
var jobData =新DocumentConverterJobData ();
jobData.setAnnotationsMode (DocumentConverterAnnotationsMode.EXTERNAL);
jobData.setDocument (virtualDocument);
jobData.setOutputDocumentFileName (“C: \ \ LEADTOOLS22 \ \ \ \ \ \图片资源ExternalAnnotationsDoc.pdf”);
jobData.setOutputAnnotationsFileName (“C: \ \ LEADTOOLS22 \ \ \ \ \ \图片资源ExternalAnnotationsDoc.xml”);
jobData.setDocumentFormat (DocumentFormat.PDF);
var工作= docConverter.getJobs () .createJob (jobData);
docConverter.getJobs () .runJob(工作);
为(var错误:job.getErrors ())
System.out.println (String.format (“有一个错误:% s”error.getError ()));
如果(job.getErrors () .isEmpty ())
System.out.println (String.format (”——输出文档保存在:% s \ n注释保存在:% s”,
jobData.getOutputDocumentFileName (), jobData.getOutputAnnotationsFileName ()));
}抓(异常e) {
System.out.println (e.getMessage ());
}
}
按运行项目F5,或通过选择调试- >开始调试。
如果步骤正确之后,应用程序运行并创建虚拟文件,添加一个PDF文件到虚拟文件,加载注释从指定的文件,并使用三种方法节省了注释。
本教程中使用的注释XML文件可以被发现在这里。您可以右键单击和使用将链接保存为. .保存一个副本。
本教程展示了如何创建一个新的虚拟文件,加载注释,并出口输出。还介绍了如何使用LEADDocument
,LoadDocumentOptions
,DocumentConverter
类。