PDF管理控件Aspose.PDF for .Net使用教程(三十八):創(chuàng)建帶標(biāo)簽的PDF文檔
Aspose.PDF for .NET是一種高PDF處理和解析API,用于在跨平臺(tái)應(yīng)用程序中執(zhí)行文檔管理和操作任務(wù)。API可以輕松用于生成、修改、轉(zhuǎn)換、渲染、保護(hù)和打印PDF文檔,而無(wú)需使用Adobe Acrobat。此外,API還提供PDF壓縮選項(xiàng),表格創(chuàng)建和操作,圖形和圖像功能,廣泛的超鏈接功能,印章和水印任務(wù),擴(kuò)展的安全控制和自定義字體處理。
在接下來(lái)的系列教程中,將為開發(fā)者帶來(lái)Aspose.PDF for .NET的一系列使用教程,例如進(jìn)行文檔間的轉(zhuǎn)換,如何標(biāo)記PDF文件,如何使用表單和圖表等等。本文將介紹如何設(shè)置表格的邊框樣式,邊距和填充。
>>Aspose.PDF for .NET更新至最新版v20.6,歡迎下載體驗(yàn)。
創(chuàng)建結(jié)構(gòu)元素
為了在標(biāo)記的PDF文檔中創(chuàng)建結(jié)構(gòu)元素,Aspose.PDF提供了使用ITaggedContent 接口創(chuàng)建結(jié)構(gòu)元素的方法 。以下代碼段顯示了如何創(chuàng)建標(biāo)記PDF的結(jié)構(gòu)元素:
// The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments(); // Create Pdf Document Document document = new Document(); // Get Content for work with TaggedPdf ITaggedContent taggedContent = document.TaggedContent; // Set Title and Language for Documnet taggedContent.SetTitle("Tagged Pdf Document"); taggedContent.SetLanguage("en-US"); // Create Grouping Elements PartElement 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 Elements ParagraphElement paragraphElement = taggedContent.CreateParagraphElement(); HeaderElement headerElement = taggedContent.CreateHeaderElement(); HeaderElement h1Element = taggedContent.CreateHeaderElement(1); // Create Text Inline-Level Structure Elements SpanElement spanElement = taggedContent.CreateSpanElement(); QuoteElement quoteElement = taggedContent.CreateQuoteElement(); NoteElement noteElement = taggedContent.CreateNoteElement(); // Create Illustration Structure Elements FigureElement figureElement = taggedContent.CreateFigureElement(); FormulaElement formulaElement = taggedContent.CreateFormulaElement(); // Methods are under development ListElement 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 Document document.Save(dataDir + "StructureElements.pdf");
創(chuàng)建結(jié)構(gòu)元素樹
為了在標(biāo)記的PDF文檔中創(chuàng)建結(jié)構(gòu)元素樹,Aspose.PDF提供了使用ITaggedContent 接口創(chuàng)建結(jié)構(gòu)元素樹的方法 。以下代碼段顯示了如何創(chuàng)建帶標(biāo)簽的PDF文檔的結(jié)構(gòu)元素樹:
// The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments(); // Create Pdf Document Document document = new Document(); // Get Content for work with TaggedPdf ITaggedContent taggedContent = document.TaggedContent; // Set Title and Language for Documnet taggedContent.SetTitle("Tagged Pdf Document"); taggedContent.SetLanguage("en-US"); // Get root structure element (Document) StructureElement rootElement = taggedContent.RootElement; // Create Logical Structure SectElement 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 Document document.Save(dataDir + "StructureElementsTree.pdf");
樣式化文字結(jié)構(gòu)
為了給標(biāo)記的PDF文檔中的文本結(jié)構(gòu)設(shè)置樣式,Aspose.PDF提供了StructureTextState類的Font,F(xiàn)ontSize,F(xiàn)ontStyle和ForegroundColor屬性。以下代碼段顯示了如何在帶標(biāo)簽的PDF文檔中設(shè)置文本結(jié)構(gòu)的樣式:
// The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments(); // Create Pdf Document Document document = new Document(); // Get Content for work with TaggedPdf ITaggedContent taggedContent = document.TaggedContent; // Set Title and Language for Documnet taggedContent.SetTitle("Tagged Pdf Document"); taggedContent.SetLanguage("en-US"); ParagraphElement p = taggedContent.CreateParagraphElement(); taggedContent.RootElement.AppendChild(p); // Under Development p.StructureTextState.FontSize = 18F; p.StructureTextState.ForegroundColor = Color.Red; p.StructureTextState.FontStyle = FontStyles.Italic; p.SetText("Red italic text."); // Save Tagged Pdf Document document.Save(dataDir + "StyleTextStructure.pdf");
圖解結(jié)構(gòu)元素
為了說明帶有標(biāo)簽的PDF文檔中的結(jié)構(gòu)元素,Aspose.PDF提供了IllustrationElement類。以下代碼段顯示了如何在標(biāo)記的PDF文檔中說明結(jié)構(gòu)元素:
// The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments(); // Create Pdf Document Document document = new Document(); // Get Content for work with TaggedPdf ITaggedContent taggedContent = document.TaggedContent; // Set Title and Language for Documnet taggedContent.SetTitle("Tagged Pdf Document"); taggedContent.SetLanguage("en-US"); // Under Development IllustrationElement 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 Document document.Save(dataDir + "IllustrationStructureElements.pdf");
驗(yàn)證標(biāo)記的PDF
用于.NET的Aspose.PDF提供了驗(yàn)證PDF / UA標(biāo)記PDF文檔的功能。驗(yàn)證PDF / UA標(biāo)準(zhǔn)支持:
- 檢查XObjects
- 檢查動(dòng)作
- 檢查可選內(nèi)容
- 檢查嵌入式文件
- 檢查Acroform字段(驗(yàn)證自然語(yǔ)言以及替代名稱和數(shù)字簽名)
- 檢查XFA表單字段
- 檢查安全性設(shè)置
- 檢查導(dǎo)航
- 檢查注釋
下面的代碼段顯示了如何驗(yàn)證標(biāo)記的PDF文檔。相應(yīng)的問題將顯示在XML日志報(bào)告中。
// 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); }
還想要更多嗎?您可以點(diǎn)擊閱讀【2019 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問或需求,請(qǐng)隨時(shí)加入Aspose技術(shù)交流群(642018183),我們很高興為您提供查詢和咨詢。