[英]C# [itext7] GetTextFromPage appends each page
我不确定我在这里做错了什么。
在循环浏览 PDF 的页面时 - 我得到了页面内容。 例如:
第 1 页 = 1
第 2 页 = 2
第 3 页 = 3
编码:
PdfReader pdfReader = new PdfReader(filename);
PdfDocument pdfDoc = new PdfDocument(pdfReader);
var strategy = new SimpleTextExtractionStrategy();
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
try
{
string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);
// do stuff with pageContent
}
}
output:
第一个循环 = 第 1 页 = 1
第二个循环 = 第 1 页 = 1,第 2 页 = 2
第三个循环 = 第 1 页 = 1,第 2 页 = 2,第 3 页 = 3
我将 pageContent 移出循环并在 try 语句之前添加了以下代码:
pageContent = "";
我通过了,第二个循环中的 pageContent 是“”。 然而在 GetTextFromPage 之后 - 它是文本的第一页和第二页(在第二个循环中)。
这发生在各种 PDF 上,所以认为这是我的代码,而不是有问题的 PDF。
我发现了这个问题 - 虽然我认为这不应该是一个问题......
PdfReader pdfReader = new PdfReader(filename);
PdfDocument pdfDoc = new PdfDocument(pdfReader);
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
try
{
var strategy = new SimpleTextExtractionStrategy();
string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);
// do stuff with pageContent
}
}
策略必须在 Try function 内——一旦放置在那里,它只返回请求的页面——而不是 append 它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.