本教程展示了如何创建一个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.jarleadtools.annotations.rendering.java.jarleadtools.caching.jarleadtools.codecs.jarleadtools.document.converter.jarleadtools.document.jarleadtools.document.pdf.jarleadtools.document.writer.jarleadtools.drawing.jarleadtools.imageprocessing.core.jarleadtools.jarleadtools.pdf.annotations.jarleadtools.pdf.jarleadtools.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类。