Pdf阅读器具有选择文本的能力

时间:2016-06-23 13:15:58

标签: c# pdf uwp

我们有一些可以给我这个功能的库吗?也许iTextSharp可以提供帮助?我试图使用Windows.Data.Pdf(UWP),但它只返回一个光栅图像,我无法选择文本。 如果lib是免费的并且支持UWP会更好。感谢。

2 个答案:

答案 0 :(得分:1)

有一个很好的lib对我来说很好:http://www.squarepdf.net/pdfbox-in-net

以下是您的问题的示例代码:

using org.apache.pdfbox.pdmodel;
using org.apache.pdfbox.util;

// ...

private static string ExtractTextFromPdf(string path)
{
  PDDocument doc = null;
  try {
    doc = PDDocument.load(path)
    PDFTextStripper stripper = new PDFTextStripper();
    return stripper.getText(doc);
  }
  finally {
    if (doc != null) {
      doc.close();
    }
  }
}

这是您将其集成到项目中的方式:http://www.squarepdf.net/how-to-convert-pdf-to-text-in-net 它是免费的。

答案 1 :(得分:1)

我将使用Pdfium原生dll。它具有位图渲染器(FPDF_RenderPageBitmap_Start)和检索文本工具(FPDFText_GetCharIndexAtPosFPDFText_GetUnicode等)。

如果您不希望直接使用本机lib,则会有一个包装器PdfiumViewer,但看起来它不提供选择文本功能。你可以分叉并扩展。

还有一个lib Pdfium.Net SDK,它提供基于Pdfium的选择文本功能,但它不是免费的。