我试图打开一个大PDF文件,但是用下面的代码
using BitMiracle.Docotic.Pdf;
PdfDocument pdf = new PdfDocument("document.pdf")
string document = pdf.GetTextWithFormatting();字符串document获得第87页(174页)。为什么只需要文件的前半部分?
编辑:这是一个评估模式的库限制。还有其他选择吗?
发布于 2017-07-03 05:24:06
您观察到的行为是由于评估模式的限制。在试用模式中使用时,库会施加以下限制:
要在没有评估模式限制的情况下评估库,可以在我们的站点上使用获得一个有时间限制的免费许可证。
发布于 2017-07-02 23:17:57
您可以尝试阅读每一页的文本:
StringBuilder sb = new StringBuilder();
var options = new PdfTextExtractionOptions
{
WithFormatting = false,
SkipInvisibleText = true
};
using (PdfDocument pdf = new PdfDocument("document.pdf"))
{
int pageIndex = 1;
foreach(var page in pdf.Pages)
{
Console.WriteLine("Page {0}", pageIndex++);
sb.AppendLine(page.GetText(options));
}
}
string allText = sb.ToString();完成此操作后,您将在控制台中看到pdf中每一页的一行。
我可能是87岁以后的那几页没有文字。例如,它们可以是扫描页面的图像。
您可以通过尝试在第87页之后从PDF中选择、复制和粘贴文本来测试这一点。如果可以,则可能是BitMiracle DLL中的一个bug。
https://stackoverflow.com/questions/44875723
复制相似问题