PdfDocumentOptions对象

总结< / div >

提供在使用Adobe可移植文档格式(PDF)保存文档时使用的额外选项。

语法< / div >< div id ="mainSourceContainerSyntax">
打印稿< / div >
JavaScript< / div >< / div >
函数lt.Document.Writer.PdfDocumentOptions扩展DocumentOptions
lt.Document.Writer.PdfDocumentOptions扩展DocumentOptions
讲话< / div >

中设置的选项PdfDocumentOptions类保存文档时,将使用DocumentFormat.Pdf格式。

PdfDocumentOptions类包含以下成员特性:

成员 描述
PdfDocumentOptions。DocumentType 将文档类型设置为PDF或PDF/A。
PdfDocumentOptions。FontEmbedMode 控制字体如何嵌入到结果PDF文档中。
请注意,PdfDocumentOptions。FontEmbedMode不在以下情况下使用
保存PDF /文件。所有字体都嵌入在PDF/A文件中。
PdfDocumentOptions。ImageOverText 将原始光栅图像作为覆盖层添加到PDF的顶部
内容。生成的文档将与原始文档完全相同
文档。使用ImageOverTextSize而且ImageOverTextMode
属性来控制此图像的质量。
PdfDocumentOptions。线性化 线性化的PDF文件是这样组织的文件
一种在网络中实现有效增量访问的方法
环境。这允许PDF文件的第一页
显示在用户Web浏览器中
从Web服务器下载。
PdfDocumentOptions。线性化启用线性化的创建
PDF文档。支持PDF和PDF/A格式。
PDF文档元数据 生成的PDF可以包含关联的可选元数据
该文档。此元数据可由外部搜索和
索引引擎来搜索和分类PDF文档。
设置文档元数据元素PdfDocumentOptions。标题
PdfDocumentOptions。主题PdfDocumentOptions。作者,
PdfDocumentOptions。关键字

PDF初始视图属性

使用以下属性控制生成的PDF文件的初始视图属性。

财产 描述
PageModeType 页模式,例如仅页、带书签的页、带缩略图的页等。
PageLayoutType 页面布局,如单页、一栏、两页等。
PageFitType 页面适合度,如无、适合宽度、高度等。
InitialPageNumber 要转到的初始页码。
XCoordinate而且YCoordinate 最初要跳转到的页面上的位置。
ZoomPercent 打开文档时使用的缩放百分比。
HideToolbarHideMenubar,HideWindowUI 显示或隐藏各种用户界面元素。
FitWindow而且CenterWindow 指定如何在窗口中查看文档。
DisplayDocTitle 在查看器中显示文档标题。

安全性、访问权限和加密

PDF文档可以使用以下两种方法进行保护:

在保护PDF文档不受编辑(通过使用所有者密码)时,可以在生成的文档中授予或拒绝加密级别和所有者访问权限。下表列出了LEADTOOLS Document writer支持的PDF访问权限:

加密 所有者访问权限
低(PdfDocumentOptions。EncryptionMode设置为
PdfDocumentEncryptionMode。RC40Bit
印刷(PdfDocumentOptions。PrintEnabled
复制文本(PdfDocumentOptions。CopyEnabled
编辑(PdfDocumentOptions。EditEnabled
注释及意见(PdfDocumentOptions。AnnotationsEnabled
高(PdfDocumentOptions。EncryptionMode设置为
PdfDocumentEncryptionMode。RC128Bit
将以下内容添加到低级加密支持的所有者访问权限中:
高质素印刷(PdfDocumentOptions。HighQualityPrintEnabled
添加/删除页面(PdfDocumentOptions。AssemblyEnabled

保存时最小化PDF文件大小

下表显示了建议使用的PDF文档选项,以实现最小的输出PDF文件大小,同时保持可接受的质量。

财产 价值 讲话
OneBitImageCompression OneBitImageCompressionType。Jbig2 JBIG2格式提供了最好的1位图像压缩。
ColoredImageCompression ColoredImageCompressionType。FlateJpx jpeg提供了最好的彩色图像压缩(每像素8或24位)。
如果图像具有每像素位的值,则恢复到平面压缩
除了8个或24个。
ImageOverTextSize DocumentImageOverTextSize。一半 仅在使用图像高于文本选项(ImageOverText
真正的).覆盖图像的大小减半,并在
页面。这将节省高达75%的大小,同时保持
图像质量。
ImageOverTextMode DocumentImageOverTextMode。放松 仅在使用图像高于文本选项(ImageOverText
真正的).任何灰度叠加图像都转换为黑白
忽略噪音和阴影。
QualityFactor 50或100 当使用图像高于文本选项时使用50 (ImageOverText
真正的).当不使用图像覆盖文本时使用100 (ImageOverText
).
PdfDocumentOptions。FontEmbedMode DocumentFontEmbedMode。没有一个 不要将字体嵌入PDF文件中。警告:生成的PDF为
不保证有相同的字体用于创建它。使用这个选项
除非在您的特定场景中可以接受字体替换。
否则,保持默认值为DocumentFontEmbedMode。汽车

下面的代码片段展示了如何设置PDF选项,以产生可接受的最小文件大小:

函数createPDFOptions (useImageOverText) {/ /创建选项varpdfOptions =lt.Documents.Writers.PdfDocumentOptions ();//对于B/W图像使用JBIG2pdfOptions。oneBitImageCompression = lt.Documents.Writers.OneBitImageCompressionType.jbig2;;//彩色图像使用JPEG2000或FlatepdfOptions。coloredImageCompression = lt.Documents.Writers.ColoredImageCompressionType.flateJpx;//自动嵌入字体pdfOptions。fontEmbedMode = lt.Documents.Writers.DocumentFontEmbedMode.auto;如果(useImageOverText) {//使用图像代替文本pdfOptions。imageOverText =真正的//调整叠加图像的大小为2pdfOptions。imageOverTextSize = lt.Documents.Writers.DocumentImageOverTextSize.half;//如果可能,将灰度转换为黑白pdfOptions。imageOverTextMode = lt.Documents.Writers.DocumentImageOverTextMode.relaxed;//使用质量系数为50pdfOptions。qualityFactor = 50;其他的//不会在文本之上使用图像pdfOptions。imageOverText =//使用质量系数为100pdfOptions。qualityFactor = 100;/ /使用这个返回pdfOptions;

例子< / div >

本示例将使用各种受支持的选项创建一个新的加密Adobe Portable Document Format文档(PDF)文件。

从示例开始LEADDocument并将示例函数中的所有代码(搜索"// TODO: add example code here"注释)替换为以下代码:

PDFDocumentOptions.ts< / div >
DocumentHelper.ts< / div >
PDFDocumentOptions.js< / div >
DocumentHelper.js< / div >
PDFDocumentOptions.html< / div >< / div >< div id ="GenericContainerEntry16106" class="GenericContainerEntry">
进口{documententhelper}从“. . / . . /工具/ DocumentHelper”出口PdfDocumentOptionsExample {私人艾尔:HTMLElement;公共构造函数() {lt.RasterSupport.setLicenseUri (“https://demo.leadtools.com/licenses/v200/LEADTOOLSEVAL.txt”“EVAL”);DocumentHelper.initFactory ();公共运行= (buttonID:字符串) = > {.el = . getelementbyid (buttonID);.el。onclick =.loadDocument;loadDocument = () => {常量url =“https://demo.leadtools.com/images/pdf/leadtools.pdf”DocumentHelper.log (“加载文件……”);lt.Document.DocumentFactory.loadFromUri (url,.done((doc: lt.Document.LEADDocument) => {DocumentHelper.log (“加载,将……”);//创建一个新的PDF文档,包含:PDF,不包含图像/文本常量pdfOptions =lt.Document.Writer.PdfDocumentOptions ();pdfOptions。documentType = lt.Document.Writer.PdfDocumentType.pdf;pdfOptions。fontEmbedMode = lt.Document.Writer.DocumentFontEmbedMode.none;pdfOptions。imageOverText =pdfOptions。线性化=pdfOptions。title =“测试标题”pdfOptions。主题=“测试主题”pdfOptions。关键词=“测试关键字”pdfOptions。作者=“测试作者”pdfOptions。是Protected =真正的pdfOptions。userPassword =“密码”pdfOptions。ownerPassword =“主密码”pdfOptions。encryptionMode = lt.Document.Writer.PdfDocumentEncryptionMode.rc128Bit;pdfOptions。printEnabled =pdfOptions。highQualityPrintEnabled =真正的pdfOptions。copyEnabled =pdfOptions。editEnabled =真正的pdfOptions。annotationsEnabled =真正的pdfOptions。assemblyEnabled =pdfOptions。oneBitImageCompression = lt.Document.Writer.OneBitImageCompressionType.flate;pdfOptions。coloredImageCompression = lt.Document.Writer.ColoredImageCompressionType.flateJpeg;pdfOptions。qualityFactor = 2;常量jobData =lt.Document.DocumentConverterJobData ();jobData。documentFormat = lt.Document.Writer.DocumentFormat.pdf;jobData。rasterImageFormat = lt.Document.RasterImageFormat.unknown;//设置文档选项jobData。documentOptions = pdfOptions;doc.convert (jobData).done(结果:任何) = > {//这是通用代码,我们知道结果在"document"中,因为PDF支持这一点//但此代码检查结果是否已归档到ZIP文件中,如果//示例转换为SVG常量resultDocument =结果。文档! =?result.document.url: result.archive.url;常量链接= document.createElement (“一个”);常量url = lt.Document.DocumentFactory.serviceUri +“/”+ resultDocument;链接。href = url;链接。innerHTML = url;链接。目标=“_default”DocumentHelper.log (转换:“+网址,网址);.el.parentElement.insertBefore(链接,.el.parentElement.firstChild);})fail (DocumentHelper.showServiceError);})fail (DocumentHelper.showServiceError);
出口DocumentHelper {静态showServiceError = (jqXHR, statusText, errorthrow) => {alert ("从服务返回错误。详情请参见控制台。”);常量serviceError = lt.Document.ServiceError。parseError (jqXHR statusText errorThrown);console.error (serviceError);静态日志=(信息:字符串、数据?:任何) = > {常量outputElement = . getelementbyid (“输出”);如果(outputElement) {常量时间= (日期()).toLocaleTimeString ();常量textElement = document.createElement (“p”);textElement。innerHTML = (outputElement。child delementcount + 1)“(”+时间+“:”+消息;outputElement。方法(textElement outputElement.firstChild);如果数据(!)console.log(消息);其他的console.log(消息、数据);静态initFactory = () => {//要与DocumentsService通信,它必须正在运行!//修改这些参数以匹配服务的路径。lt.Document.DocumentFactory.serviceHost =“http://localhost: 40000”lt.Document.DocumentFactory.servicePath =""lt.Document.DocumentFactory.serviceApiPath =“api”
进口{documententhelper}从“. . / . . /工具/ DocumentHelper”出口PdfDocumentOptionsExample {埃尔;构造函数(){lt.RasterSupport.setLicenseUri (“https://demo.leadtools.com/licenses/v200/LEADTOOLSEVAL.txt”“EVAL”);DocumentHelper.initFactory ();run = (buttonID) => {.el = . getelementbyid (buttonID);.el。onclick =.loadDocument;loadDocument = () => {常量url =“https://demo.leadtools.com/images/pdf/leadtools.pdf”DocumentHelper.log (“加载文件……”);lt.Document.DocumentFactory.loadFromUri (url,.done ((doc) = > {DocumentHelper.log (“加载,将……”);//创建一个新的PDF文档,包含:PDF,不包含图像/文本常量pdfOptions =lt.Document.Writer.PdfDocumentOptions ();pdfOptions。documentType = lt.Document.Writer.PdfDocumentType.pdf;pdfOptions。fontEmbedMode = lt.Document.Writer.DocumentFontEmbedMode.none;pdfOptions。imageOverText =pdfOptions。线性化=pdfOptions。title =“测试标题”pdfOptions。主题=“测试主题”pdfOptions。关键词=“测试关键字”pdfOptions。作者=“测试作者”pdfOptions。是Protected =真正的pdfOptions。userPassword =“密码”pdfOptions。ownerPassword =“主密码”pdfOptions。encryptionMode = lt.Document.Writer.PdfDocumentEncryptionMode.rc128Bit;pdfOptions。printEnabled =pdfOptions。highQualityPrintEnabled =真正的pdfOptions。copyEnabled =pdfOptions。editEnabled =真正的pdfOptions。annotationsEnabled =真正的pdfOptions。assemblyEnabled =pdfOptions。oneBitImageCompression = lt.Document.Writer.OneBitImageCompressionType.flate;pdfOptions。coloredImageCompression = lt.Document.Writer.ColoredImageCompressionType.flateJpeg;pdfOptions。qualityFactor = 2;常量jobData =lt.Document.DocumentConverterJobData ();jobData。documentFormat = lt.Document.Writer.DocumentFormat.pdf;jobData。rasterImageFormat = lt.Document.RasterImageFormat.unknown;//设置文档选项jobData。documentOptions = pdfOptions;doc.convert (jobData).done((结果)= > {//这是通用代码,我们知道结果在"document"中,因为PDF支持这一点//但此代码检查结果是否已归档到ZIP文件中,如果//示例转换为SVG常量resultDocument =结果。文档! =?result.document.url: result.archive.url;常量链接= document.createElement (“一个”);常量url = lt.Document.DocumentFactory.serviceUri +“/”+ resultDocument;链接。href = url;链接。innerHTML = url;链接。目标=“_default”DocumentHelper.log (转换:“+网址,网址);.el.parentElement.insertBefore(链接,.el.parentElement.firstChild);})fail (DocumentHelper.showServiceError);})fail (DocumentHelper.showServiceError);
出口DocumentHelper {静态showServiceError = (jqXHR, statusText, errorthrow) => {alert ("从服务返回错误。详情请参见控制台。”);常量serviceError = lt.Document.ServiceError。parseError (jqXHR statusText errorThrown);console.error (serviceError);静态日志= (message, data) => {常量outputElement = . getelementbyid (“输出”);如果(outputElement) {常量时间= (日期()).toLocaleTimeString ();常量textElement = document.createElement (“p”);textElement。innerHTML = (outputElement。child delementcount + 1)“(”+时间+“:”+消息;outputElement。方法(textElement outputElement.firstChild);如果数据(!)console.log(消息);其他的console.log(消息、数据);静态initFactory = () => {//要与DocumentsService通信,它必须正在运行!//修改这些参数以匹配服务的路径。lt.Document.DocumentFactory.serviceHost =“http://localhost: 40000”lt.Document.DocumentFactory.servicePath =""lt.Document.DocumentFactory.serviceApiPath =“api”
<!doctype html >< html lang =“en”>文档示例| PDFDocumentOptions




 . pdf< >头< script src =“https://code.jquery.com/jquery-2.2.4.min.js”诚信=“sha256-BbhdlvQf / xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44 = "crossorigin =“匿名”> < /脚本>< script src =“. . / . . / LT / Leadtools.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Controls.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Annotations.Engine.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Annotations.Designers.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Annotations.Rendering.Javascript.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Annotations.Automation.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.ImageProcessing.Main.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.ImageProcessing.Color.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.ImageProcessing.Core.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.ImageProcessing.Effects.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Document.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Document.Viewer.js”> < /脚本>< link rel =“样式表”类型=“文本/ css”href =“. . / . . / css / examples.css”><!——所有的演示文件被打包并附加到窗口——>< script src =“. . / . . / bundle.js”类型=“text / javascript”> < /脚本>> < /头<身体>< div ><按钮类型=“按钮”id =“exampleButton”> > < /按钮运行示例< / div >< div id =“输出”> < / div >< div >< img id =“img”/>< / div >< /身体><脚本>窗口。Onload = () => {常量示例=window.examples.PDF.PDFDocumentOptions ();example.run (“exampleButton”);};> < /脚本< / html >
需求< / div >目标平台
帮助21.0.2021.7.2版本< / div ><!--BEGIN Copyright notice--> 188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。<!--END Copyright notice-->
Leadtools。文档Assembly< / div >