繁体   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