该页面可以包含自动翻译的文本。

使用 C# 和 VB.NET 从 PDF 文档中提取文本、路径和图像

使用 Docotic.Pdf 库 在 Windows、Linux、macOS、Android、iOS 或云环境中从 .NET 中 的 PDF 文档中提取文本、图像、矢量路径。

提取文本和图像

从 PDF 中获取文本

您可以使用 Docotic.Pdf 将 PDF 文档转换为 .NET 中的文本。 此示例展示了如何使用 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 中的文本。