從 Html 轉換後刪除超鏈接
在本教學中,我們將引導您完成使用 Aspose.PDF for .NET 從 HTML 檔案產生的 PDF 檔案中刪除超連結的過程。超連結是可以重定向到其他頁面或網站的可點擊連結。透過執行以下步驟,您將能夠從生成的 PDF 檔案中刪除超連結。
先決條件
在開始之前,請確保滿足以下先決條件:
- C# 程式語言的基礎知識。
- 您的系統上安裝了適用於 .NET 的 Aspose.PDF 庫。
- 開發環境,例如 Visual Studio。
步驟 1: 載入 HTML 檔案並刪除超鏈接
在此步驟中,我們將載入 HTML 檔案並從產生的 PDF 文件中刪除超連結。使用以下程式碼:
//文檔目錄的路徑。
string dataDir = "YOUR DOCUMENTS DIRECTORY";
//使用 HTML 載入選項載入 HTML 文件
Document doc = new Document(dataDir + "SampleHtmlFile.html", new HtmlLoadOptions());
//瀏覽文件第一頁的註釋
foreach(Annotation a in doc.Pages[1].Annotations)
{
//檢查註釋是否是鏈接
if (a.AnnotationType == AnnotationType.Link)
{
LinkAnnotation the = (LinkAnnotation)a;
//檢查操作是否屬於 GoToURIAction 類型
if (the.Action is GoToURIAction)
{
GoToURIAction gta = (GoToURIAction)the.Action;
gta.URI = "";
//使用文字片段吸收器尋找相符的文字片段
TextFragmentAbsorber tfa = new TextFragmentAbsorber();
tfa.TextSearchOptions = new TextSearchOptions(a.Rect);
doc.Pages[a.PageIndex].Accept(tfa);
//循環遍歷匹配的文字片段並從超連結中刪除屬性
foreach(TextFragment tf in tfa.TextFragments)
{
tf.TextState.Underline = false;
tf.TextState.ForegroundColor = Color.Black;
}
}
//從頁面中刪除註釋
doc.Pages[a.PageIndex].Annotations.Delete(a);
}
}
一定要更換"YOUR DOCUMENTS DIRECTORY"
與 HTML 檔案所在的實際目錄。
步驟 2: 儲存生成的 PDF 文件
最後,我們將保存生成的不含超連結的 PDF 檔案。使用以下程式碼:
//儲存生成的 PDF 文件
doc.Save(dataDir + "RemoveHyperlinksFromText_out.pdf");
上面的程式碼使用文件名保存生成的 PDF 文件"RemoveHyperlinksFromText_out.pdf"
.
使用 Aspose.PDF for .NET 從 Html 轉換後刪除超連結的範例原始碼
//文檔目錄的路徑。
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "SampleHtmlFile.html", new HtmlLoadOptions());
doc.Save(new MemoryStream());
foreach (Annotation a in doc.Pages[1].Annotations)
{
if (a.AnnotationType == AnnotationType.Link)
{
LinkAnnotation la = (LinkAnnotation)a;
if (la.Action is GoToURIAction)
{
GoToURIAction gta = (GoToURIAction)la.Action;
gta.URI = "";
TextFragmentAbsorber tfa = new TextFragmentAbsorber();
tfa.TextSearchOptions = new TextSearchOptions(a.Rect);
doc.Pages[a.PageIndex].Accept(tfa);
foreach (TextFragment tf in tfa.TextFragments)
{
tf.TextState.Underline = false;
tf.TextState.ForegroundColor = Color.Black;
}
}
doc.Pages[a.PageIndex].Annotations.Delete(a);
}
}
doc.Save(dataDir + "RemoveHyperlinksFromText_out.pdf");
結論
在本教學中,我們介紹了使用 Aspose.PDF for .NET 從 HTML 檔案產生的 PDF 檔案中刪除超連結的逐步過程。按照上述說明操作,您將能夠成功從生成的 PDF 文件中刪除超連結。
常見問題解答
Q:什麼是 Aspose.PDF for .NET?
答:Aspose.PDF for .NET 是一個功能強大的程式庫,可讓開發人員在 C# 應用程式中處理 PDF 文件。它提供了廣泛的功能,包括將 HTML 文件轉換為 PDF 和操作 PDF 內容的能力。
Q:為什麼我要從 PDF 檔案中刪除超連結?
答:從 PDF 文件中刪除超連結的原因有很多。例如,您可能希望消除用於列印或存檔目的的外部鏈接,或確保 PDF 內容無法透過超鏈接進行導航。
Q:如何使用 Aspose.PDF for .NET 載入 HTML 檔案並刪除超連結?
答:要載入 HTML 檔案並刪除超鏈接,您可以使用 Aspose.PDF for .NETHtmlLoadOptions
班級。迭代 PDF 頁面的註釋以尋找連結註釋並修改其屬性。
Q:我可以自訂生成的 PDF 的輸出檔名嗎?
答:是的,您可以透過修改儲存 PDF 文件的程式碼來自訂產生的 PDF 檔案的輸出檔案名稱。只需更改所需的檔案名稱即可doc.Save()
方法。
Q:是否可以根據某些條件選擇性地刪除超連結?
答:是的,您可以根據特定條件選擇性地刪除超連結。例如,您可以選擇僅刪除外部連結或指向特定 URL 的連結。