itextSharp PDF到文本文件在亚马逊EC2实例中的c#问题

本文关键字:实例 问题 EC2 亚马逊 PDF 文本 文件 itextSharp | 更新日期: 2023-09-27 18:19:26

我有一个非常奇怪的问题,可能是我不确定AmazonEC2实例中发生了什么。

我正在加载PDF,提取数据,并使用iTextsharp组件(5.4.1版)以字符串形式返回输出。它在我的本地机器上绝对可以正常工作。

但当我部署到AmazonEC2实例(windows服务器2008 R2)时,它不起作用,并出现错误。我在日志文件中捕获了错误,如下

java.io.IOException: Error: End-of-File, expected line
iTextSharp.text.exceptions.InvalidPdfException: PDF header signature not found

我的代码在下面,如果有任何帮助/建议,我们将不胜感激。

public static string parseUsingPDFBox(string PDFFilePath)
{
       PdfReader reader = new PdfReader(PDFFilePath);
       StringWriter output = new StringWriter();
       for (int i = 1; i <= reader.NumberOfPages; i++)
            output.WriteLine(PdfTextExtractor.GetTextFromPage(reader, i, new SimpleTextExtractionStrategy()));
       reader.Dispose();
       return output.ToString();
}

我拥有EC2实例和使用.Net framework 4.0 的所有管理权限

itextSharp PDF到文本文件在亚马逊EC2实例中的c#问题

请按如下方式调试:

创建一个FileInputStreamPDFFilePath

将该流的bytes读取到数组中。

检查前五个字节。

在本地系统上,它们是'%''P''D''F''-'

在您的AmazonEC2实例中,它们不是。

检查所有字节,看看哪里出了问题。