該頁面可以包含自動翻譯的文字。

從 C# 和 VB.NET 的 PDF 文件中擷取文字、路徑和影像

使用 Docotic.Pdf 函式庫 來從 .NET 中的 PDF 文件擷取文字、影像和向量路徑。

擷取文字與影像

從 PDF 取得文字

您可以使用 Docotic.Pdf 在 .NET 中將 PDF 文件轉為文字。此範例示範如何在 C# 中將 PDF 轉為格式化文字:

using BitMiracle.Docotic.Pdf;

using var pdf = new PdfDocument("your_document.pdf");
var options = new PdfTextExtractionOptions
{
    SkipInvisibleText = true,
    WithFormatting = true
};
string formattedText = pdf.GetText(options);
Console.WriteLine(formattedText);

您也可以只從 PDF 頁面的特定部分擷取文字。可為此使用 PdfTextExtractionOptions.Rectangle 屬性。

您也可以取得關於每個文字區塊的詳細資訊,以進行更深入的分析。Docotic.Pdf 可讓您以 原樣按單字按字元 擷取 PDF 文字。此範例示範如何在 C# 中按單字擷取 PDF 文字:

using var pdf = new PdfDocument("your_document.pdf");
PdfPage page = pdf.Pages[0];
foreach (PdfTextData data in page.GetWords())
{
    Console.WriteLine(
    $"{{\n" +
    $"  text: '{data.GetText()}',\n" +
    $"  bounds: {data.Bounds},\n" +
    $"  font name: '{data.Font.Name}',\n" +
    $"  font size: {data.FontSize},\n" +
    $"  transformation matrix: {data.TransformationMatrix},\n" +
    $"  rendering mode: '{data.RenderingMode}',\n" +
    $"  brush: {data.Brush},\n" +
    $"  pen: {data.Pen}\n" +
    $"}},"
    );
}

閱讀 從 PDF 擷取文字 文章,以取得更多範例和關於 .NET 中 PDF 轉文字的資訊。

在 .NET 中從 PDF 取得影像

此函式庫可用於 從 PDF 檔案原樣擷取影像以繪製後的形式擷取影像。如何在 C# 中從 PDF 擷取所有影像:

using BitMiracle.Docotic.Pdf;

using var pdf = new PdfDocument("your_document.pdf");
int i = 0;
foreach (PdfImage image in pdf.GetImages())
{
    string imageFile = image.Save(i.ToString());
    ++i;
}

擷取出的影像可儲存為 TIFF 和 JPEG 影像。

此函式庫在擷取時不會重新壓縮影像。您將取得與 PDF 中相同品質的影像。

您也可以取得關於 影像實際繪製在頁面上的位置 的資訊。

從 PDF 擷取向量路徑

您可以使用 PdfPage.GetObjects() 方法 取得 PDF 文件中向量路徑的資訊。請參考 複製頁面物件擷取頁面物件 範例以取得更多詳細資訊。

您也可以使用 PdfPage.GetObjects(PdfObjectExtractionOptions) 多載 將文字擷取為向量路徑。此功能可用於在 .NET 中將 PDF 文字扁平化。