←选择平台

LEADDocument类

总结

封装多页文档,支持光栅和SVG图像、书签、注释和文本数据。

语法
c#
c++
Java
[DataContractAttribute ()]公共摘要LEADDocument: IDisposable
vb (vb语法)< DataContractAttribute () >公共MustInherit类文档
公共(DataContractAttribute)ref类文档摘要
公共摘要文档

讲话

LEADDocument类为任何类型的文档提供统一的支持。它背后的实际数据可以是PDF文档、Microsoft Word文档、TIFF图像、AutoCAD DWG绘图,或者数百种不同的栅格、文档或矢量中的任何一种LEADTOOLS支持的文件格式LEADDocument封装使用相同的属性、方法和数据结构统一访问此数据所需的通用功能。

文档查看器

LEADDocument的输入主题是,它可用于查看文档及其页面,包括缩略图、虚拟化、文本搜索和注释支持。

文档转换器

LEADDocument也可以用作输入DocumentConverter,将文件转换为任何其他文件格式,无论是否使用OCR技术。

创建文档类

一个LEADDocumentInstance可以通过以下任何一种方法获得:

方法 描述
DocumentFactory。LoadFromFile 从磁盘或网络共享上的现有文档文件创建一个新实例。
DocumentFactory。LoadFromUri 从存储在远程URL中的文档创建一个新实例。
DocumentFactory。LoadFromUriAsync 从存储在远程URL或磁盘上的文档异步创建新实例。
DocumentFactory。LoadFromUriAsync 从存储在远程URL中的文档异步创建新实例。
DocumentFactory。LoadFromStream 从存储在流中的现有文档创建一个新实例。
DocumentFactory。LoadFromCache 从缓存加载以前保存的文档。
DocumentFactory。创建 创建一个新的空文档。

获取文件后,InternalObject将是文档使用的内部LEADTOOLS对象。

加密

在大多数情况下LEADDocument在得到它之后就可以使用了。但是,有些文档(如PDF)可以加密,在解析和使用之前需要密码。的大多数性质和方法LEADDocument如果文档未解密,将抛出错误。IsEncrypted可用于检查文档是否加密,如果是,解密必须用从用户获得的密码调用以解锁文档。当这种情况发生时,的价值IsDecrypted就变成了真正的文档已经准备好可以使用了。

请注意,IsEncrypted将保持真正的表示文档的原始状态。

保存文档类

SaveToFile而且SaveToUri方法可用于将文档保存到磁盘文件或远程URL。这些方法支持将文档保存为光栅图像格式,而不是文档。方法对文档进行转换,在大多数情况下都应使用DocumentConverter类,它具有更多的选项和控制。

文档标识符

每个文档都有一个由框架在创建时设置的唯一标识符。它存储在DocumentId财产。当在缓存系统中使用文档时,ID很重要。ID是从缓存中完全重新构建文档所需的惟一值。

方法可以由用户手动设置文档IDLoadDocumentOptions。DocumentIdCreateDocumentOptions。DocumentId,或UploadDocumentOptions。DocumentId在加载、创建或上传文档时使用的选项。如果DocumentId留给,工厂将生成一个新的随机ID,并使用DocumentFactory。NewCacheId

缓存

文档可以包含许多页面和大量数据。在大多数情况下,将所有这些数据存储在物理内存中是不可行的。因此,LEADDocument类设计为使用外部缓存系统来存储修改后的数据。指DocumentFactory。缓存更多信息。

HasCache确定此文档是否正在使用缓存系统。调用SaveToCache将文档保存到缓存中并使用DocumentFactory。LoadFromCacheAutoDeleteFromCache而且AutoSaveToCache可用于确定在处理文档时与文档关联的缓存数据会发生什么。

结构和目录

DocumentStructure管理文档的结构。这个结构包括表示目录的书签。通过结构的属性LEADDocument

页面

DocumentPages管理文档的页面。通过页面的属性LEADDocument

DocumentPages来源于LeadCollection < T >因此可以实现System.Collections.ObjectModel.Collection.您可以使用任何集合方法来添加、删除、插入、获取、设置和遍历页面。

DocumentPages包含的集合DocumentPage对象,每个对象包含文档中单个页面的数据。页面项是在查看器或转换应用程序中使用文档的主要入口点。DocumentPage包含检索或更新页面的栅格或SVG图像、文本数据、注释和超链接的函数。指DocumentPage更多信息。

文档

DocumentDocuments管理文档的子文档。通过文档的属性LEADDocument

DocumentDocuments来源于LeadCollection < T >因此可以实现System.Collections.ObjectModel.Collection.您可以使用任何收集方法来遍历文档。但是,此集合是只读的,因此不能添加、删除或更改项。相反,使用页面向此文档添加或删除属于单独文档的页面。的LEADDocument。文档集合将自动更新,以反映文档中当前保存的子文档。

历史记录

可以启用和访问文档修改历史和跟踪DocumentHistory对象。可以通过历史的属性LEADDocument

元数据

类添加的默认值包含元数据DocumentFactory当加载或创建文档时,以及从文档文件本身提取的任何其他数据(如作者、主题和其他应用程序存储的任何关键字)。

属性

下面的属性是LEADDocument并包含有用的信息:

对原始文档数据的访问取决于文档的创建方式及其缓存状态,如下所示:

全局文档设置

LEADDocument类包含以下对象,用于管理整个文档中使用的全局设置。

文档单位

LEADDocument所有物品都使用1/720英寸的独立单位。该值存储在UnitsPerInch常数(720)。指文献库坐标系统更多信息。

处理

LEADDocument实现了系统。IDisposable而且必须在使用后处理掉。指系统。IDisposable在. net中获取更多信息。如果文档被保存到缓存中,则可以在它被处理后重新构造文档(AutoSaveToCache被设定为真正的,或SaveToCache使用)。

例子

这个示例加载一个文档并显示其所有信息。

c#
使用Leadtools;使用Leadtools.Codecs;使用Leadtools.Document.Writer;使用Leadtools.Document;使用Leadtools.Caching;使用Leadtools.Annotations.Engine;使用Leadtools.Ocr;使用Leadtools.Barcode;使用Leadtools.Document.Converter;公共无效DocumentExample ()var缓存= GetCache();var政策=CacheItemPolicy ();政策。一个bsoluteExpiration = DateTime.Now +TimeSpan(0,0,1);政策。SlidingExpiration =TimeSpan(0,0,1);var选择=LoadDocumentOptions ();选项。缓存Policy = policy;选项。缓存= cache;字符串documentId =使用vardocument = DocumentFactory.LoadFromFile(Path.Combine(LEAD_VARS.ImagesDir),“Leadtools.pdf”),选择)文档。一个utoDeleteFromCache =PrintOutDocumentInfo(文档);documententid = document. documententid;document.SaveToCache ();System.Threading.Thread.Sleep (2000);varloadFromCacheOptions =LoadFromCacheOptions ();loadFromCacheOptions。Cache = Cache;loadFromCacheOptions。DocumentId= documentId;使用vardocument = documentfactory . loadFromCacheOptions))如果= =文档)控制台。WriteLine (“缓存的文档已过期并已删除!”);公共无效PrintOutDocumentInfo (LEADDocument文档)控制台。WriteLine (“一般”);控制台。WriteLine (DocumentId:“+ document.DocumentId);如果(文档。Uri ! =控制台。WriteLine (”Uri:“+ document.Uri);控制台。WriteLine (名称:“+ document.Name);控制台。WriteLine (”CacheStatus:“+ document.CacheStatus);控制台。WriteLine (”LastCacheSyncTime:“+ document.LastCacheSyncTime);控制台。WriteLine (”IsReadOnly:“+ document.IsReadOnly);控制台。WriteLine (”IsLocal:“+ document.IsLocal);控制台。WriteLine (MimeType:“+ document.MimeType);控制台。WriteLine (”IsEncrypted:“+ document.IsEncrypted);控制台。WriteLine (”IsDecrypted:“+ document.IsDecrypted);控制台。WriteLine (“用户数据:“+ document.UserData);控制台。WriteLine (“缓存”);控制台。WriteLine (”HasCache:“+ document.HasCache);控制台。WriteLine (”AutoDeleteFromCache:“+ document.AutoDeleteFromCache);控制台。WriteLine (“元数据”);foreachvardocument.Metadata)控制台。WriteLine (“{0}{1}”,项目。键,item.Value);控制台。WriteLine (“文件”);控制台。WriteLine (“数:”+ document.Documents.Count);foreachvarchildDocumentdocument.Documents)控制台。WriteLine (名称:“+ childDocument.Name);控制台。WriteLine (“页面”);控制台。WriteLine (“数:”+ document.Pages.Count);varpageNumber = 1;pageNumber <= document.Pages.Count;pageNumber + +)var页面=文档。页面[pageNumber - 1];控制台。WriteLine (”PageNumber:“+ pageNumber);控制台。WriteLine (”OriginalPageNumber:“+ page.OriginalPageNumber);控制台。WriteLine (”OriginalDocumentName:“+ page.Document.Name);控制台。WriteLine (“大小:{0}”, page.Size);控制台。WriteLine ("--------");公共ObjectCache GetCache ()//创建一个LEADTOOLS FileCache对象varcacheDir = Path.Combine(“缓存”);如果(Directory.Exists (cacheDir))目录中。删除(cacheDir,真正的);Directory.CreateDirectory (cacheDir);var缓存=FileCache ();缓存。缓存Directory = cacheDir;返回缓存;静态LEAD_VARS公共常量字符串ImagesDir =@“C: \ LEADTOOLS22 \ Resources \图片”静态LEAD_VARS公共常量字符串ImagesDir =@“C: \ LEADTOOLS22 \ Resources \图片”

需求

目标平台

另请参阅

Leadtools。文档一个ssembly
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2022领先技术公司版权所有