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 的所有管理权限
请按如下方式调试:
创建一个FileInputStream
到PDFFilePath
。
将该流的bytes
读取到数组中。
检查前五个字节。
在本地系统上,它们是'%'
、'P'
、'D'
、'F'
、'-'
。
在您的AmazonEC2实例中,它们不是。
检查所有字节,看看哪里出了问题。