如何在PDF中將純文本鏈接到PDF文檔的另一部分? 目前,我正在處理PDF。如果在頁面中找到兩個數字(文本對象),我已經確定了兩個應該鏈接到對方的頁面。使文本成爲鏈接/註釋以調用goTo PDF中的其他頁面操作
有沒有辦法將該文本轉換爲可點擊的本地鏈接?
如何在PDF中將純文本鏈接到PDF文檔的另一部分? 目前,我正在處理PDF。如果在頁面中找到兩個數字(文本對象),我已經確定了兩個應該鏈接到對方的頁面。使文本成爲鏈接/註釋以調用goTo PDF中的其他頁面操作
有沒有辦法將該文本轉換爲可點擊的本地鏈接?
我們已檢查報告的查詢「使文本成爲鏈接/註釋以調用PDF中的其他頁面操作」,並準備了測試樣本以滿足您的要求。在本示例中,我們使用PdfDocumentLinkAnnotation
通過單擊文本來導航內部文檔。請檢查樣本,並在下面的鏈接中提供,供您參考。
請從the following link找到樣品。
請查閱以下UG documentation link以瞭解有關PdfDocumentLinkAnnotation
的更多詳情。
守則鏈接:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Imaging;
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Pdf.Interactive;
namespace ConsoleApplication1
{
class Program
{
public static string DataPathOutput
{
get
{
if (!Directory.Exists(System.Environment.CurrentDirectory + @"\..\..\Output\"))
Directory.CreateDirectory(System.Environment.CurrentDirectory + @"\..\..\Output\");
return System.Environment.CurrentDirectory + @"\..\..\Output\";
}
}
static void Main(string[] args)
{
// Creates a new PDF document
PdfDocument document = new PdfDocument();
// Creates a first page
PdfPage firstPage = document.Pages.Add();
PdfFont font = new PdfStandardFont(PdfFontFamily.Courier, 12f);
PdfBrush brush = PdfBrushes.Black;
PdfGraphics graphics1 = firstPage.Graphics;
string inputText1 = "Sample Text-1";
graphics1.DrawString(inputText1, font, brush, 10, 40);
// Measure string size to use same size for annotation
SizeF size1 = font.MeasureString(inputText1);
RectangleF rectangle1 = new RectangleF(10, 40, size1.Width, size1.Height);
// Creates a second page
PdfPage secondPage = document.Pages.Add();
PdfGraphics graphics2 = secondPage.Graphics;
string secondPageInput = "Sample Text-2";
graphics2.DrawString(secondPageInput, font, brush, 10, 40);
// Measure string size to use same size for annotation
SizeF size2 = font.MeasureString(inputText1);
RectangleF rectangle2 = new RectangleF(10, 40, size2.Width, size2.Height);
// Add annotation for firstpage to link second page of PdfDocumet
PdfDocumentLinkAnnotation firstAnnotation = new PdfDocumentLinkAnnotation(rectangle1);
firstAnnotation.Color = new PdfColor(Color.Transparent);
firstAnnotation.Destination = new PdfDestination(secondPage);
// Use below comment for link specific part of page
//firstAnnotation.Destination.Location = new Point(10, 40);
firstPage.Annotations.Add(firstAnnotation);
// Add annotation for second page to link first page of PdfDocumet
PdfDocumentLinkAnnotation secondAnnotation = new PdfDocumentLinkAnnotation(rectangle2);
secondAnnotation.Color = new PdfColor(Color.Transparent);
secondAnnotation.Destination = new PdfDestination(firstPage);
// Use below comment for link specific part of page
//secondAnnotation.Destination.Location = new Point(10, 40);
secondPage.Annotations.Add(secondAnnotation);
// Save document on mentioned location
document.Save(System.IO.Path.Combine(DataPathOutput, "Output.pdf"));
document.Close(true);
}
}
}
文字本身是無關的,你需要的是周圍的文本框的座標。你用什麼庫來做你的PDF後期處理? –
文本週圍框的座標似乎不是syncfusion提供的文本提取的一部分。 –
@PatrickGallot它是syncfusion。有可能使用不同的lib? – user1093111