我们有一些可以给我这个功能的库吗?也许iTextSharp可以提供帮助?我试图使用Windows.Data.Pdf(UWP),但它只返回一个光栅图像,我无法选择文本。 如果lib是免费的并且支持UWP会更好。感谢。
答案 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_GetCharIndexAtPos
,FPDFText_GetUnicode
等)。
如果您不希望直接使用本机lib,则会有一个包装器PdfiumViewer,但看起来它不提供选择文本功能。你可以分叉并扩展。
还有一个lib Pdfium.Net SDK,它提供基于Pdfium的选择文本功能,但它不是免费的。