翻譯|使用教程|編輯:李顯亮|2021-01-12 10:07:34.407|閱讀 539 次
概述:Spire.PDF是一個專業的PDF組件,能夠獨立地創建、編寫、編輯、操作和閱讀PDF文件,支持 .NET、Java、WPF和Silverlight。本文演示了如何使用Spire.PDF for .NET在PDF頁面中的文本塊之前添加行號。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Spire.PDF是一個專業的PDF組件,能夠獨立地創建、編寫、編輯、操作和閱讀PDF文件,支持 .NET、Java、WPF和Silverlight。Spire.PDF的PDF API擁有豐富的功能,如安全設置(包括數字簽名)、PDF文本/附件/圖片提取、PDF文件合并/拆分、元數據更新、章節和段落優化、圖形/圖像描繪和插入、表格創建和處理、數據導入等等。
本文演示了如何使用Spire.PDF for .NET在PDF頁面中的文本塊之前添加行號。
下面是輸入文檔的屏幕截圖。
C#
using Spire.Pdf;
using Spire.Pdf.General.Find;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace AddLineNumber
{
class Program
{
static void Main(string[] args)
{
//Create a PdfDocument of instance
PdfDocument doc = new PdfDocument();
//Load a PDF document
doc.LoadFromFile(@"G:\360MoveData\Users\Administrator\Desktop\sample.pdf");
//Get the first page
PdfPageBase page = doc.Pages[0];
//Find the spcific text in the fisrt line
PdfTextFind topLine = page.FindText("C# (pronounced See Sharp)", TextFindParameter.None).Finds[0];
//Get the line height
float lineHeight = topLine.Bounds.Height;
//Get the Y coordinate of the selected text
float y = topLine.Bounds.Y;
//Find the spcific text in the second line
PdfTextFind secondLine = page.FindText("language. C#", TextFindParameter.None).Finds[0];
//Calculate the line spacing
float lineSpacing = secondLine.Bounds.Top - topLine.Bounds.Bottom;
//Find the specific text in the last line
PdfTextFind bottomLine = page.FindText("allocation of objects", TextFindParameter.None).Finds[0];
//Get the height of the chunks
float height = bottomLine.Bounds.Bottom;
//Create a font
PdfFont font = new PdfFont(PdfFontFamily.TimesRoman, 11f);
int i = 1;
while (y < height)
{
//Draw line number before a specific line of text
page.Canvas.DrawString(i.ToString(), font, PdfBrushes.Black, new PointF(15, y));
y += lineHeight + lineSpacing;
i++;
}
//Save the document
doc.SaveToFile("result.pdf");
}
}
}
VB.NET
Imports Spire.Pdf
Imports Spire.Pdf.General.Find
Imports Spire.Pdf.Graphics
Imports System.Drawing
Namespace AddLineNumber
Class Program
Shared Sub Main(ByVal args() As String)
'Create a PdfDocument of instance
Dim doc As PdfDocument = New PdfDocument()
'Load a PDF document
doc.LoadFromFile("G:\360MoveData\Users\Administrator\Desktop\sample.pdf")
'Get the first page
Dim page As PdfPageBase = doc.Pages(0)
'Find the spcific text in the fisrt line
Dim topLine As PdfTextFind = page.FindText("C# (pronounced See Sharp)",TextFindParameter.None).Finds(0)
'Get the line height
Dim lineHeight As single = topLine.Bounds.Height
'Get the Y coordinate of the selected text
Dim y As single = topLine.Bounds.Y
'Find the spcific text in the second line
Dim secondLine As PdfTextFind = page.FindText("language. C#",TextFindParameter.None).Finds(0)
'Calculate the line spacing
Dim lineSpacing As single = secondLine.Bounds.Top - topLine.Bounds.Bottom
'Find the specific text in the last line
Dim bottomLine As PdfTextFind = page.FindText("allocation of objects",TextFindParameter.None).Finds(0)
'Get the height of the chunks
Dim height As single = bottomLine.Bounds.Bottom
'Create a font
Dim font As PdfFont = New PdfFont(PdfFontFamily.TimesRoman,11f)
Dim i As Integer = 1
While y < height
'Draw line number before a specific line of text
page.Canvas.DrawString(i.ToString(),font,PdfBrushes.Black,New PointF(15,y))
y += lineHeight + lineSpacing
i = i + 1
End While
'Save the document
doc.SaveToFile("result.pdf")
End Sub
End Class
End Namespace
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn