使用项目符号和编号,可以让文档的层次结构更清晰、更有条理,也更容易突出重点。在编辑文档的过程中,我个人也比较偏爱项目标号来标注文章重点信息。在之前的文章中,介绍了如何在Word中来创建项目标号和编号列表,在本篇文章中,将介绍创建PDF项目符号列表和多级编号列表的方法。
借助工具: Spire.PDF.dll
1.创建PDF符号列表
C#
using System; System.Drawing; Spire.Pdf; Spire.Pdf.Graphics; Spire.Pdf.Lists; namespace CreateList_PDF { class Program { static void Main(string[] args) { //创建一个PDF文档 PdfDocument doc = new PdfDocument(); 添加一页A4大小的页面 pdfpageBase page = doc.Pages.Add(pdfpageSize.A4); float y = 10; 创建标题并设置格式,包括字体、字号、颜色 PdfBrush brush1 = PdfBrushes.Black; PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("楷体",18f,FontStyle.Regular),true); PdfStringFormat format1 = PdfStringFormat(PdfTextAlignment.Center); page.Canvas.DrawString(Categories List(项目列表)rush1,page.Canvas.ClientSize.Width / 2,y,format1); y = y + font1.MeasureString("5创建列表文字并设置格式 RectangleF rctg = new RectangleF(new PointF(0,0),page.Canvas.ClientSize); PdfLinearGradientBrush brush = PdfLinearGradientBrush(rctg,Color.SteelBlue,Color.Blue,PdfLinearGradientMode.Vertical); PdfTrueTypeFont font2 = 宋体); String formatted = Part 1 Listening(听力部分) \n Part 2 Speaking(口语部分) \n Part 3 Reading(阅读部分) \n Part 4 Writing(写作部分)" + \n Part 5 Test(测试) 1 \n Part 6 Test(测试) 2 \n Part 7 Test Answers(测试答案)创建PdfList 类对象,并设置列表及样式 PdfList list = PdfList(formatted); list.Font = font2; list.Indent = 8; list.TextIndent = ; list.Brush = brush; PdfLayoutResult result = list.Draw(page,y); y = result.Bounds.Bottom; 保存并打开文档 doc.SavetoFile(List.pdf); System.Diagnostics.Process.Start(); } } }
测试结果:
VB.NET
Imports System System.Drawing Spire.Pdf Spire.Pdf.Graphics Spire.Pdf.Lists Namespace CreateList_PDF Class Program Private Shared Sub Main(ByVal args As String()) Dim doc As PdfDocument = New PdfDocument() Dim page As pdfpageBase = doc.Pages.Add(pdfpageSize.A4) Dim y Single = 10 Dim brush1 As PdfBrush = PdfBrushes.Black Dim font1 As PdfTrueTypeFont = New PdfTrueTypeFont(New Font(True) Dim format1 As PdfStringFormat = PdfStringFormat(PdfTextAlignment.Center) page.Canvas.DrawString(= y + 5 Dim rctg As RectangleF = New RectangleF(New PointF(Dim brush As PdfLinearGradientBrush = Dim font2 Dim formatted String = Part 1 Listening(听力部分) " & vbLf & Part 2 Speaking(口语部分) Part 3 Reading(阅读部分) Part 4 Writing(写作部分) Part 5 Test(测试) 1 Part 6 Test(测试) 2 Part 7 Test Answers(测试答案)" Dim list As PdfList = PdfList(formatted) list.Font = font2 list.Indent = list.TextIndent = list.Brush = brush Dim result As PdfLayoutResult = list.Draw(page,y) y = result.Bounds.Bottom doc.SavetoFile() System.Diagnostics.Process.Start() End Sub End Class End Namespace
2.创建PDF多级编号列表
Spire.Pdf.dll支持多种类型的编号类型:
C#
Spire.Pdf.Lists; System.Drawing; List2 { 新建PDF文档,并添加一页A4大小的空白页面 PdfDocument doc = PdfDocument(); pdfpageBase page = doc.Pages.Add(pdfpageSize.A4); 添加标题并设置文本和格式 PdfBrush brush1 =目录一览添加文本并设置字体 RectangleF rctg = rush brush = ); String formatted1 = 第一章 总 论; String formatted2 = 第一节 经济法概述 ; String formatted3 = 第二节 经济法主体 ; String formatted4 = 第二章 公司法律制度设置编号列表样式 PdfOrderedMarker marker1 = new PdfOrderedMarker(PdfNumberStyle.Numeric,1)"> PdfFont(PdfFontFamily.Helvetica,15f)); PdfOrderedMarker marker2 = new PdfOrderedMarker(PdfNumberStyle.LowerRoman,12f)); 为第一级编号列表设置格式 PdfsortedList list1 = PdfsortedList(font2); list1.Indent = ; list1.TextIndent = ; list1.Brush = brush; list1.Marker = marker1; 为第二级编号列表设置格式 PdfsortedList list2 = PdfsortedList(font2); list2.Marker = marker2; list2.Brush = brush; list2.TextIndent = 应用编号列表格式到指定文本 PdfListItem item = list1.Items.Add(formatted1); item.SubList = list2; list2.Items.Add(formatted2); list2.Items.Add(formatted3); list1.Items.Add(formatted4); 设置PDF文档布局和位置 PdfTextLayout textLayout = PdfTextLayout(); textLayout.Break = PdfLayoutBreakType.FitPage; textLayout.Layout = PdfLayoutType.Paginate; list1.Draw(page,保存文件 doc.SavetoFile(多级列表.pdf); } } }
测试结果:
VB.NET
Spire.Pdf.Lists System.Drawing List2 Dim formatted1 Dim formatted2 Dim formatted3 Dim formatted4 Dim marker1 As PdfOrderedMarker = PdfOrderedMarker(PdfNumberStyle.Numeric,NewPdfFont(PdfFontFamily.Helvetica,15F)) Dim marker2 PdfOrderedMarker(PdfNumberStyle.LowerRoman,12F)) Dim list1 As PdfsortedList = PdfsortedList(font2) list1.Indent = list1.TextIndent = list1.Brush = brush list1.Marker = marker1 Dim list2 PdfsortedList(font2) list2.Marker = marker2 list2.Brush = brush list2.TextIndent = Dim item As PdfListItem = list1.Items.Add(formatted1) item.SubList = list2 list2.Items.Add(formatted2) list2.Items.Add(formatted3) list1.Items.Add(formatted4) Dim textLayout As PdfTextLayout = PdfTextLayout() textLayout.Break = PdfLayoutBreakType.FitPage textLayout.Layout = PdfLayoutType.Paginate list1.Draw(page,textLayout) doc.SavetoFile(End Namespace
以上内容为本次关于“创建PDF项目标号列表和多级编号列表”的全部内容。如需转载,请注明出处。感谢阅读!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。