广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    C# 创建标签PDF文件

    来源:网络收集  点击:  时间:2024-03-02
    【导读】:

    标签PDF文件包含描述文档结构和各种文档元素顺序的元数据,是一种包含后端提供的可访问标记,管理阅读顺序和文档内容表示的逻辑结构的PDF文件。

    PDF标签是通过屏幕阅读器等支持技术访问PDF文档内容的关键。PDF标记在层次结构或标记树(tag tree)中排列PDF内容。这里的标签是一种不可见的标签,它提供关于PDF文档内容的重要信息。带标签的PDF包含许多不同类型的标签,但最常用的是文本、替代文本(图像的替代文本)、标题、链接和链接描述

    添加PDF标签不会改变文档的视觉外观,但它提供了一个不可见的层,用于格式化文档与屏幕阅读器协作工作,这就使得从PDF文件中提取文本和图形变得更容易,并帮助屏幕阅读器以正确的顺序显示文件内容。

    PDF标签还可以用于将内容传输到屏幕较小的设备,如智能手机和平板电脑。

    本文将要介绍的创建方法是以后端C#程序代码的方式来创建标签PDF文件。创建时,通过NuGet引用PDF API-Spire.PDF for .NET,调用其提供的类及相关方法来标记内容、结构元素等。

    C#

    using Spire.Pdf;using Spire.Pdf.Graphics;using Spire.Pdf.Interchange.TaggedPdf;using System.Drawing;namespace CreateTaggedPDF{ class Program { static void Main(string args) { //创建PdfDocument类的对象 PdfDocument pdf = new PdfDocument(); //添加一页 pdf.Pages.Add(PdfPageSize.A4); //设置tab order pdf.Pages.SetTabOrder(TabOrder.Structure); //创建PdfTaggedContent类的对象 PdfTaggedContent taggedContent = new PdfTaggedContent(pdf); taggedContent.SetLanguage(en-US); taggedContent.SetTitle(test); //创建字体、画刷、字符串格式 PdfTrueTypeFont font = new PdfTrueTypeFont(new Font(Times New Roman, 10), true); PdfSolidBrush brush = new PdfSolidBrush(Color.Black); PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Left); //添加elements PdfStructureElement article = taggedContent.StructureTreeRoot.AppendChildElement(PdfStandardStructTypes.Document); PdfStructureElement paragraph1 = article.AppendChildElement(PdfStandardStructTypes.Paragraph); PdfStructureElement span1 = paragraph1.AppendChildElement(PdfStandardStructTypes.Span); span1.BeginMarkedContent(pdf.Pages); //绘制内容到页面 pdf.Pages.Canvas.DrawString(A PDF tag is the key to accessing the contents of PDF documents with supporting technologies such as screen readers. , font, brush, new Rectangle(40, 0, 480, 80), format); span1.EndMarkedContent(pdf.Pages); PdfStructureElement paragraph2 = article.AppendChildElement(PdfStandardStructTypes.Paragraph); paragraph2.BeginMarkedContent(pdf.Pages); pdf.Pages.Canvas.DrawString(A PDF tag arranges the PDF content in a hierarchical architecture or tag tree., font, brush, new Rectangle(40, 80, 480, 80), format); paragraph2.EndMarkedContent(pdf.Pages); PdfStructureElement figure1 = article.AppendChildElement(PdfStandardStructTypes.Figure); //Set Alternate text figure1.Alt = replacement text1; figure1.BeginMarkedContent(pdf.Pages, null); PdfImage image = PdfImage.FromFile(@logo.png); pdf.Pages.Canvas.DrawImage(image, new PointF(40, 200), new SizeF(100, 100));//绘制图片到页面 figure1.EndMarkedContent(pdf.Pages); PdfStructureElement figure2 = article.AppendChildElement(PdfStandardStructTypes.Figure); //Set Alternate text figure2.Alt = replacement text2; figure2.BeginMarkedContent(pdf.Pages, null); pdf.Pages.Canvas.DrawRectangle(PdfPens.Black, new Rectangle(300, 200, 100, 100)); figure2.EndMarkedContent(pdf.Pages); //保存文档 pdf.SaveToFile(CreateTaggedFile_result.pdf); } }}

    vb.net

    Imports Spire.PdfImports Spire.Pdf.GraphicsImports Spire.Pdf.Interchange.TaggedPdfImports System.DrawingNamespace CreateTaggedPDFClass ProgramPrivate Shared Sub Main(args As String())创建PdfDocument类的对象Dim pdf As New PdfDocument()添加一页pdf.Pages.Add(PdfPageSize.A4)设置tab orderpdf.Pages(0).SetTabOrder(TabOrder.)创建PdfTaggedContent类的对象Dim taggedContent As New PdfTaggedContent(pdf)taggedContent.SetLanguage(en-US)taggedContent.SetTitle(test)创建字体、画刷、字符串格式Dim font As New PdfTrueTypeFont(New Font(Times New Roman, 10), True)Dim brush As New PdfSolidBrush(Color.Black)Dim format As New PdfStringFormat(PdfTextAlignment.Left)添加elementsDim article As PdfStructureElement = taggedContent.StructureTreeRoot.AppendChildElement(PdfStandardStructTypes.Document)Dim paragraph1 As PdfStructureElement = article.AppendChildElement(PdfStandardStructTypes.Paragraph)Dim span1 As PdfStructureElement = paragraph1.AppendChildElement(PdfStandardStructTypes.Span)span1.BeginMarkedContent(pdf.Pages(0))绘制内容到页面pdf.Pages(0).Canvas.DrawString(A PDF tag is the key to accessing the contents of PDF documents with supporting technologies such as screen readers. , font, brush, New Rectangle(40, 0, 480, 80), format)span1.EndMarkedContent(pdf.Pages(0))Dim paragraph2 As PdfStructureElement = article.AppendChildElement(PdfStandardStructTypes.Paragraph)paragraph2.BeginMarkedContent(pdf.Pages(0))pdf.Pages(0).Canvas.DrawString(A PDF tag arranges the PDF content in a hierarchical architecture or tag tree., font, brush, New Rectangle(40, 80, 480, 80), format)paragraph2.EndMarkedContent(pdf.Pages(0))Dim figure1 As PdfStructureElement = article.AppendChildElement(PdfStandardStructTypes.Figure)Set Alternate text figure1.Alt = replacement text1figure1.BeginMarkedContent(pdf.Pages(0), Nothing)Dim image As PdfImage = PdfImage.FromFile(logo.png)pdf.Pages(0).Canvas.DrawImage(image, New PointF(40, 200), New SizeF(100, 100))绘制图片到页面figure1.EndMarkedContent(pdf.Pages(0))Dim figure2 As PdfStructureElement = article.AppendChildElement(PdfStandardStructTypes.Figure)Set Alternate textfigure2.Alt = replacement text2figure2.BeginMarkedContent(pdf.Pages(0), Nothing)pdf.Pages(0).Canvas.DrawRectangle(PdfPens.Black, New Rectangle(300, 200, 100, 100))figure2.EndMarkedContent(pdf.Pages(0))保存文档 pdf.SaveToFile(CreateTaggedFile_result.pdf)System.Diagnostics.Process.Start(CreateTaggedFile_result.pdf)End SubEnd ClassEnd Namespace

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_215444.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 23:17:14  耗时:0.027
    0.027s