在本主题▼< / div >< div id ="inThisTopicDialog" class="hide">

DocumentAttachment对象

总结< / div >

类中的附件的属性LEADDocument

语法< / div >< div id ="mainSourceContainerSyntax">
打印稿< / div >
JavaScript< / div >< / div >
函数lt.Document.DocumentAttachment
lt.Document.DocumentAttachment ()
讲话< / div >

文档库支持从PDF等文档中读取嵌入式附件,以及手动添加的外部附件。

有关更多信息,请参阅文档附件

例子< / div >

本例将提取嵌入在PDF文件中的附件。

Main.ts< / div >
DocumentHelper.ts< / div >
Main.js< / div >
DocumentHelper.js< / div >
Main.html< / div >< / div >< div id ="GenericContainerEntry1692" class="GenericContainerEntry">
进口{DocumentHelper} from“. . / . . /工具/ DocumentHelper”进口{DocumentFactory_CheckCacheInfoExample}从“. . /工厂/ CheckCacheInfo”出口DocumentAttachment_MainExample {私人艾尔:HTMLElement;公共构造函数() {lt.RasterSupport.setLicenseUri (“https://demo.leadtools.com/licenses/v200/LEADTOOLSEVAL.txt”“EVAL”);DocumentHelper.initFactory ();私人urlToPdfFile =“http://localhost/images/pdf/portfolio/port1.pdf”公共运行(buttonID:字符串) {. getelementbyid (buttonID)。onclick =.onRun;onRun = () => {/*PDF文档可以是以下文件之一:1.没有附件的正常PDF。有一个或多个页面,没有附件。2.正常的PDF附件。具有一个或多个页面和一个或多个附件。3.PDF的投资组合。有一个占位符页面和一个或多个附件。LoadDocumentOptions的值。loadAttachmentsMode对加载文档的影响如下:1.没有附件的正常PDF:不会受到影响。2.正常的PDF附件:不影响页数。附件数量为:LoadAttachmentsMode = none then 0LoadAttachmentsMode = asAttachments then数量找到的附件该文档。3.PDF作品集:页数为:LoadAttachmentsMode = none then 1(占位符页)LoadAttachmentsMode = asAttachments则为0(文档没有页面)。附件数量为:LoadAttachmentsMode = none then 0LoadAttachmentsMode = asAttachments then数量找到的附件该文档。* /常量pdfUrl =.urlToPdfFile;// PDF文件的URL作为本例的输入//首先,加载没有附件的文档console.log ("使用DocumentLoadAttachmentsMode.none加载");常量loadDocumentOptions =lt.Document.LoadDocumentOptions ();loadDocumentOptions。loadAttachmentsMode = lt.Document.DocumentLoadAttachmentsMode.none;.loadDocument(pdfUrl, loadDocumentOptions, (doc) => {console.log ("文档有"+ doc.pages.count +“页面”);//查看文档是否为portfolio常量isPortfolioValue = doc.metadata[lt.Document.LEADDocument.metadataKey_IsPortfolio];常量isPortfolio = isPortfolio value && isPortfolioValue. tolowercase () ===“真正的”console.log (”isPortfolio:“+ isPortfolio);//检查是否一切正常//我们应该有0个附件,因为我们没有指示工具箱加载这些附件如果(doc.attachments。计数!= 0)错误(“出问题了”);//我们应该有一个或多个页面,不管文件是否是PDF文件夹如果(doc.pages。计数=== 0)错误(“出问题了”);//接下来,加载带有附件的文档console.log ("使用DocumentLoadAttachmentsMode.asAttachments加载");loadDocumentOptions。loadAttachmentsMode = lt.Document.DocumentLoadAttachmentsMode.asAttachments;.loadDocument(pdfUrl, loadDocumentOptions, (doc) => {console.log ("文档有"+ doc.pages.count +“页面”);//查看文档是否为portfolio常量isPortfolioValue = doc.metadata[lt.Document.LEADDocument.metadataKey_IsPortfolio];常量isPortfolio = isPortfolio value && isPortfolioValue. tolowercase () ===“真正的”console.log (”isPortfolio:“+ isPortfolio);//检查是否一切正常//我们可能有0个或多个附件,这取决于文件console.log ("文档有"+ doc.attachments.count +“附件”);//我们应该有一个或多个页面,除非这是PDF文件夹,那么它将有0页如果(isPortfolio) {如果(doc.pages。计数!== 0)错误(“出问题了”);//将所有嵌入的附件提取到缓存中.extractAttachments(doc, 0, () => {console.log (“示例完成”);});});});loadDocument = (url:字符串, loadDocumentOptions: lt.Document。LoadDocumentOptions, done:(doc: lt.Document.LEADDocument) =>无效) => {DocumentHelper.log (“装载文件”+ url);lt.Document.DocumentFactory。loadDocumentOptions loadFromUri (url).done((doc) => {DocumentHelper.log ("文档已加载并具有缓存id: "+ doc.documentId);完成(doc);})fail (DocumentHelper.showServiceError);extractatachments = (doc: lt.Document。LEADDocument attachmentIndex:数量, done:() =>无效) => {如果(attachmentIndex >= document .attachments.count) {(完成);返回//显示此附件的信息常量attachment = document .attachments.item(attachmentIndex);console.log (“附件编号”+附件。AttachmentNumber +"文件名是'"+附件。文件名+长度为"+附件。fileLength +“字节”);//保存到缓存中//另一个选择是直接使用lt.Document.DocumentFactory.loadDocumentAttachment将其作为LEAD文档加载常量saveAttachmentToCacheOptions =lt.Document.SaveAttachmentToCacheOptions ();saveAttachmentToCacheOptions。attachmentNumber = attachmentIndex + 1;lt.Document.DocumentFactory.saveAttachmentToCache(医生,saveAttachmentToCacheOptions).done((attachmentDocumentId) => {console.log (“附件”+ saveAttachmentToCacheOptions。attachmentNumber +"已保存到文档ID = "+ attachmentDocumentId);//附件数据可以使用lt.Document.DocumentFactory.downloadDocumentData下载,也可以使用documentfactory . loadfromache加载.extractAttachments(doc, attachmentIndex + 1, done);})fail (DocumentHelper.showServiceError);
出口DocumentHelper {静态showServiceError = (jqXHR, statusText, errorThrown) => {alert ("服务返回错误。详见控制台。”);常量serviceError = lt.Document.ServiceError。parseError(jqXHR, statusText, errorThrown);console.error (serviceError);静态日志=(消息:字符串、数据?:任何) => {常量outputElement = document.getElementById(“输出”);如果(outputElement) {常量时间= (日期()).toLocaleTimeString ();常量textElement = document.createElement(“p”);textElement。在nerHTML = (outputElement.childElementCount + 1) +“(”+时间+“:”+消息;outputElement。在sertBefore(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”
进口{DocumentHelper} from“. . / . . /工具/ DocumentHelper”进口{DocumentFactory_CheckCacheInfoExample}从“. . /工厂/ CheckCacheInfo”出口DocumentAttachment_MainExample {构造函数(){lt.RasterSupport.setLicenseUri (“https://demo.leadtools.com/licenses/v200/LEADTOOLSEVAL.txt”“EVAL”);DocumentHelper.initFactory ();urlToPdfFile =“http://localhost/images/pdf/portfolio/port1.pdf”run = (buttonID) => {. getelementbyid (buttonID)。onclick =.onRun;onRun = () => {/*PDF文档可以是以下文件之一:1.没有附件的正常PDF。有一个或多个页面,没有附件。2.正常的PDF附件。具有一个或多个页面和一个或多个附件。3.PDF的投资组合。有一个占位符页面和一个或多个附件。LoadDocumentOptions的值。loadAttachmentsMode对加载文档的影响如下:1.没有附件的正常PDF:不会受到影响。2.正常的PDF附件:不影响页数。附件数量为:LoadAttachmentsMode = none then 0LoadAttachmentsMode = asAttachments然后找到的附件数量该文档。3.PDF作品集:页数为:LoadAttachmentsMode = none then 1(占位符页)LoadAttachmentsMode = asAttachments则为0(文档没有页面)。附件数量为:LoadAttachmentsMode = none then 0LoadAttachmentsMode = asAttachments然后找到的附件数量该文档。* /常量pdfUrl =.urlToPdfFile;// PDF文件的URL作为本例的输入//首先,加载没有附件的文档console.log ("使用DocumentLoadAttachmentsMode.none加载");常量loadDocumentOptions =lt.Document.LoadDocumentOptions ();loadDocumentOptions。loadAttachmentsMode = lt.Document.DocumentLoadAttachmentsMode.none;.loadDocument(pdfUrl, loadDocumentOptions, (doc) => {console.log ("文档有"+ doc.pages.count +“页面”);//查看文档是否为portfolio常量isPortfolioValue = doc.metadata[lt.Document.LEADDocument.metadataKey_IsPortfolio];常量isPortfolio = isPortfolio value && isPortfolioValue. tolowercase () ===“真正的”console.log (”isPortfolio:“+ isPortfolio);//检查是否一切正常//我们应该有0个附件,因为我们没有指示工具箱加载这些附件如果(doc.attachments。计数!= 0)错误(“出问题了”);//我们应该有一个或多个页面,不管文件是否是PDF文件夹如果(doc.pages。计数=== 0)错误(“出问题了”);//接下来,加载带有附件的文档console.log ("使用DocumentLoadAttachmentsMode.asAttachments加载");loadDocumentOptions。loadAttachmentsMode = lt.Document.DocumentLoadAttachmentsMode.asAttachments;.loadDocument(pdfUrl, loadDocumentOptions, (doc) => {console.log ("文档有"+ doc.pages.count +“页面”);//查看文档是否为portfolio常量isPortfolioValue = doc.metadata[lt.Document.LEADDocument.metadataKey_IsPortfolio];常量isPortfolio = isPortfolio value && isPortfolioValue. tolowercase () ===“真正的”console.log (”isPortfolio:“+ isPortfolio);//检查是否一切正常//我们可能有0个或多个附件,这取决于文件console.log ("文档有"+ doc.attachments.count +“附件”);//我们应该有一个或多个页面,除非这是PDF文件夹,那么它将有0页如果(isPortfolio) {如果(doc.pages。计数!== 0)错误(“出问题了”);//将所有嵌入的附件提取到缓存中.extractAttachments(doc, 0, () => {console.log (“示例完成”);});});});loadDocument = (url, loadDocumentOptions, done) => {DocumentHelper.log (“装载文件”+ url);lt.Document.DocumentFactory。loadDocumentOptions loadFromUri (url).done((doc) => {DocumentHelper.log ("文档已加载并具有缓存id: "+ doc.documentId);完成(doc);})fail (DocumentHelper.showServiceError);extractatachments = (doc, attachmentIndex, done) => {如果(attachmentIndex >= document .attachments.count) {(完成);返回//显示此附件的信息常量attachment = document .attachments.item(attachmentIndex);console.log (“附件编号”+附件。AttachmentNumber +"文件名是'"+附件。文件名+长度为"+附件。fileLength +“字节”);//保存到缓存中//另一个选择是直接使用lt.Document.DocumentFactory.loadDocumentAttachment将其作为LEAD文档加载常量saveAttachmentToCacheOptions =lt.Document.SaveAttachmentToCacheOptions ();saveAttachmentToCacheOptions。attachmentNumber = attachmentIndex + 1;lt.Document.DocumentFactory.saveAttachmentToCache(医生,saveAttachmentToCacheOptions).done((attachmentDocumentId) => {console.log (“附件”+ saveAttachmentToCacheOptions。attachmentNumber +"已保存到文档ID = "+ attachmentDocumentId);//附件数据可以使用lt.Document.DocumentFactory.downloadDocumentData下载,也可以使用documentfactory . loadfromache加载.extractAttachments(doc, attachmentIndex + 1, done);})fail (DocumentHelper.showServiceError);
出口DocumentHelper {静态showServiceError = (jqXHR, statusText, errorThrown) => {alert ("服务返回错误。详见控制台。”);常量serviceError = lt.Document.ServiceError。parseError(jqXHR, statusText, errorThrown);console.error (serviceError);静态Log = (message, data) => {常量outputElement = document.getElementById(“输出”);如果(outputElement) {常量时间= (日期()).toLocaleTimeString ();常量textElement = document.createElement(“p”);textElement。在nerHTML = (outputElement.childElementCount + 1) +“(”+时间+“:”+消息;outputElement。在sertBefore(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”>文档示例| DocumentAttachment




 . txt< >头< 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.DocumentAttachment.Main ();example.run (“exampleButton”);};> < /脚本< / html >
需求< / div >目标平台
另请参阅< / div >

参考

DocumentAttachment成员

lt.Document名称空间

帮助版本21.0.2021.7.2< / div ><!--BEGIN Copyright notice--> 188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。<!--END Copyright notice-->
Leadtools。文档Assembly< / div >