PDF 将部件号转换为链接
本文关键字:转换 链接 PDF | 更新日期: 2024-11-07 04:16:02
我有一个非常大的PDF目录,里面有超过50K个零件号。 想编写一个将零件号转换为可点击链接的过程。 一直在偷看Acrobat,iTextSharp,PDFSharp和其他一些,但似乎看不到以前是否做过类似的事情?
我是否需要手动更新每个链接,或者是否有希望自动执行此过程?
谢谢!
这个任务可以使用Docotic.Pdf库轻松完成。
该库可以从页面中检索所有单词及其边框。此外,库可以在 PDF 页面的指定位置创建超链接。
下面是任务的简短示例。下面的代码打开指定的文件,查找所有以 L 开头的单词,并将这些单词"转换"为链接。
public static void makeWordsHyperlinks(string file, string outputFile)
{
using (PdfDocument pdf = new PdfDocument(file))
{
foreach (PdfPage page in pdf.Pages)
{
PdfCollection<PdfTextData> words = page.GetWords();
foreach (PdfTextData word in words)
{
// let's take anything starting from L
// you can discriminate words as you like, of course
if (word.Text.StartsWith("L", StringComparison.InvariantCultureIgnoreCase))
{
// build lookup query. you can use any url, of course
string lookupUrl = string.Format(@"https://www.google.ru/#q={0}", word.Text);
// let's draw rectangle around word.
// just to make links easier to find
page.Canvas.DrawRectangle(word.Bounds, PdfDrawMode.Stroke);
page.AddHyperlink(word.Bounds, new Uri(lookupUrl));
}
}
}
pdf.Save(outputFile);
}
}
我假设您的零件号类似于 XXX-YYYYY。如果您的部件号由几个单词组成,那么任务就有点困难了。您将需要组合单词及其边框。
免责声明:我为图书馆的供应商工作。