打开PDF文件时,下面的代码丢失,首页只有一列,其他页面只有1列。
有人可以告诉我我做错了什么吗? 在我的代码下面:
PdfReader pdfreader = new PdfReader(pathNmArq);
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
for (int page=1; page <= lastPage; page++)
{
extractText = PdfTextExtractor.GetTextFromPage(pdfreader, page, strategy);
extractText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(extractText)));
/ / ...
}
答案 0 :(得分:1)
您使用SimpleTextExtractionStrategy
。此策略假定PDF中的文本绘图说明按阅读顺序排序。在你的情况下似乎并非如此。
如果您不能指望包含阅读顺序的绘图操作的PDF,但仅使用分发中的iText文本提取策略,则必须知道构成单个列的区域。如果网页包含多个列,则必须使用RegionTextRenderFilter
限制列,然后使用LocationTextExtractionStrategy
。
PS:你的目的究竟是什么
extractText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(extractText)));
线?