C# - PdfDocument.GetTextWithFormatting()不采取
问题描述:
所有网页我试图打开一个大的PDF文件,但与此代码C# - PdfDocument.GetTextWithFormatting()不采取
using BitMiracle.Docotic.Pdf;
PdfDocument pdf = new PdfDocument("document.pdf")
string document = pdf.GetTextWithFormatting();
字符串document
采取首创87页(174)。为什么只需要文档的前半部分?
编辑:这是库的评估模式限制。有一些替代方案?
答
您观察到的行为是由于评估模式的限制。在试用模式下使用时,库会施加以下限制:
- 使用库生成的文档包含打印在每个页面上的评估通知。
- 对于所有现有文档,库中只有一半的页面被读取。
要评估没有评估模式限制的图书馆,您可以在我们的网站get a free time-limited license。
答
你可以尝试从阅读每个网页中的文字:
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中的错误进行测试。
什么是'PdfDocument'?它在哪里定义? –
'BitMiracle.Docotic.Pdf' – Gicminos
您是否尝试过循环遍历页面并从每个页面获取文本? 'pdf.Pages(i).GetText(options)' –