簡體   English   中英

C# [itext7] GetTextFromPage 附加每個頁面

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM