[英]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.