PDF管理控件Aspose.PDF for .Net使用教程(三十八):创建带标签的PDF文档

在本系列教程中,将为开发者带来Aspose.PDF for .NET的一系列使用教程,例如进行文档间的转换,如何标记PDF文件,如何使用表单和图表等等。本文将介绍如何创建带标签的PDF文档。

Aspose.PDF for .NET是一种高PDF处理和解析API,用于在跨平台应用程序中执行文档管理和操作任务。API可以轻松用于生成、修改、转换、渲染、保护和打印PDF文档,而无需使用AdobeAcrobat。此外,API还提供PDF压缩选项,表格创建和操作,图形和图像功能,广泛的超链接功能,印章和水印任务,扩展的安全控制和自定义字体处理。

在接下来的系列教程中,将为开发者带来Aspose.PDF for .NET的一系列使用教程,例如进行文档间的转换,如何标记PDF文件,如何使用表单和图表等等。本文将介绍如何设置表格的边框样式,边距和填充。

>>Aspose.PDF for .NET更新至最新版v20.6,欢迎下载体验。


创建结构元素

为了在标记的PDF文档中创建结构元素,Aspose.PDF提供了使用ITaggedContent 接口创建结构元素的方法 。以下代码段显示了如何创建标记PDF的结构元素:

// The path to the documents directory.string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();// Create Pdf DocumentDocument document = new Document();// Get Content for work with TaggedPdfITaggedContent taggedContent = document.TaggedContent;// Set Title and Language for DocumnettaggedContent.SetTitle("Tagged Pdf Document");taggedContent.SetLanguage("en-US");// Create Grouping ElementsPartElement partElement = taggedContent.CreatePartElement();ArtElement artElement = taggedContent.CreateArtElement();SectElement sectElement = taggedContent.CreateSectElement();DivElement divElement = taggedContent.CreateDivElement();BlockQuoteElement blockQuoteElement = taggedContent.CreateBlockQuoteElement();CaptionElement captionElement = taggedContent.CreateCaptionElement();TOCElement tocElement = taggedContent.CreateTOCElement();TOCIElement tociElement = taggedContent.CreateTOCIElement();IndexElement indexElement = taggedContent.CreateIndexElement();NonStructElement nonStructElement = taggedContent.CreateNonStructElement();PrivateElement privateElement = taggedContent.CreatePrivateElement();// Create Text Block-Level Structure ElementsParagraphElement paragraphElement = taggedContent.CreateParagraphElement();HeaderElement headerElement = taggedContent.CreateHeaderElement();HeaderElement h1Element = taggedContent.CreateHeaderElement(1);// Create Text Inline-Level Structure ElementsSpanElement spanElement = taggedContent.CreateSpanElement();QuoteElement quoteElement = taggedContent.CreateQuoteElement();NoteElement noteElement = taggedContent.CreateNoteElement();// Create Illustration Structure ElementsFigureElement figureElement = taggedContent.CreateFigureElement();FormulaElement formulaElement = taggedContent.CreateFormulaElement();// Methods are under developmentListElement listElement = taggedContent.CreateListElement();TableElement tableElement = taggedContent.CreateTableElement();ReferenceElement referenceElement = taggedContent.CreateReferenceElement();BibEntryElement bibEntryElement = taggedContent.CreateBibEntryElement();CodeElement codeElement = taggedContent.CreateCodeElement();LinkElement linkElement = taggedContent.CreateLinkElement();AnnotElement annotElement = taggedContent.CreateAnnotElement();RubyElement rubyElement = taggedContent.CreateRubyElement();WarichuElement warichuElement = taggedContent.CreateWarichuElement();FormElement formElement = taggedContent.CreateFormElement();// Save Tagged Pdf Documentdocument.Save(dataDir + "StructureElements.pdf");

创建结构元素树

为了在标记的PDF文档中创建结构元素树,Aspose.PDF提供了使用ITaggedContent 接口创建结构元素树的方法 。以下代码段显示了如何创建带标签的PDF文档的结构元素树:

// The path to the documents directory.string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();// Create Pdf DocumentDocument document = new Document();// Get Content for work with TaggedPdfITaggedContent taggedContent = document.TaggedContent;// Set Title and Language for DocumnettaggedContent.SetTitle("Tagged Pdf Document");taggedContent.SetLanguage("en-US");// Get root structure element (Document)StructureElement rootElement = taggedContent.RootElement;// Create Logical StructureSectElement sect1 = taggedContent.CreateSectElement();rootElement.AppendChild(sect1);SectElement sect2 = taggedContent.CreateSectElement();rootElement.AppendChild(sect2);DivElement div11 = taggedContent.CreateDivElement();sect1.AppendChild(div11);DivElement div12 = taggedContent.CreateDivElement();sect1.AppendChild(div12);ArtElement art21 = taggedContent.CreateArtElement();sect2.AppendChild(art21);ArtElement art22 = taggedContent.CreateArtElement();sect2.AppendChild(art22);DivElement div211 = taggedContent.CreateDivElement();art21.AppendChild(div211);DivElement div212 = taggedContent.CreateDivElement();art21.AppendChild(div212);DivElement div221 = taggedContent.CreateDivElement();art22.AppendChild(div221);DivElement div222 = taggedContent.CreateDivElement();art22.AppendChild(div222);SectElement sect3 = taggedContent.CreateSectElement();rootElement.AppendChild(sect3);DivElement div31 = taggedContent.CreateDivElement();sect3.AppendChild(div31);// Save Tagged Pdf Documentdocument.Save(dataDir + "StructureElementsTree.pdf");

样式化文字结构

为了给标记的PDF文档中的文本结构设置样式,Aspose.PDF提供了StructureTextState类的Font,FontSize,FontStyle和ForegroundColor属性。以下代码段显示了如何在带标签的PDF文档中设置文本结构的样式:

// The path to the documents directory.string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();// Create Pdf DocumentDocument document = new Document();// Get Content for work with TaggedPdfITaggedContent taggedContent = document.TaggedContent;// Set Title and Language for DocumnettaggedContent.SetTitle("Tagged Pdf Document");taggedContent.SetLanguage("en-US");ParagraphElement p = taggedContent.CreateParagraphElement();taggedContent.RootElement.AppendChild(p);// Under Developmentp.StructureTextState.FontSize = 18F;p.StructureTextState.ForegroundColor = Color.Red;p.StructureTextState.FontStyle = FontStyles.Italic;p.SetText("Red italic text.");// Save Tagged Pdf Documentdocument.Save(dataDir + "StyleTextStructure.pdf");

图解结构元素

为了说明带有标签的PDF文档中的结构元素,Aspose.PDF提供了IllustrationElement类。以下代码段显示了如何在标记的PDF文档中说明结构元素:

// The path to the documents directory.string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();// Create Pdf DocumentDocument document = new Document();// Get Content for work with TaggedPdfITaggedContent taggedContent = document.TaggedContent;// Set Title and Language for DocumnettaggedContent.SetTitle("Tagged Pdf Document");taggedContent.SetLanguage("en-US");// Under DevelopmentIllustrationElement figure1 = taggedContent.CreateFigureElement();taggedContent.RootElement.AppendChild(figure1);figure1.AlternativeText = "Figure One";figure1.Title = "Image 1";figure1.SetTag("Fig1");figure1.SetImage("image.png");// Save Tagged Pdf Documentdocument.Save(dataDir + "IllustrationStructureElements.pdf");

验证标记的PDF

用于.NET的Aspose.PDF提供了验证PDF / UA标记PDF文档的功能。验证PDF / UA标准支持:

  • 检查XObjects
  • 检查动作
  • 检查可选内容
  • 检查嵌入式文件
  • 检查Acroform字段(验证自然语言以及替代名称和数字签名)
  • 检查XFA表单字段
  • 检查安全性设置
  • 检查导航
  • 检查注释

下面的代码段显示了如何验证标记的PDF文档。相应的问题将显示在XML日志报告中。

// The path to the documents directory.string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();string inputFileName = dataDir + "StructureElements.pdf";string outputLogName = dataDir + "ua-20.xml";using (var document = new Aspose.Pdf.Document(inputFileName)){    bool isValid = document.Validate(outputLogName, Aspose.Pdf.PdfFormat.PDF_UA_1);}


还想要更多吗可以点击阅读【2019 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(),我们很高兴为您提供查询和咨询
标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月5日
下一篇 2020年5月5日

相关推荐

发表回复

登录后才能评论