我使用iTextSharp成功地从PDF创建图像。它创建的图像数等于PDF中的页数,但生成的图像不会在任何图像查看器软件中预览。它说图像已损坏。以下是我创建的代码。
{{1}}
有人可以建议这里有什么问题吗? 感谢
答案 0 :(得分:0)
您正在使用PdfCopy
创建PDF文件,但您正在存储该PDF,就像创建PNG文件一样:
string ext = ".png";
string destinationFilePath =
string.Format(@"{0}/{1}{2}",
destinationFolderPath, Convert.ToString(i), ext);
PdfCopy pdfCpy = new PdfCopy(doc,
new FileStream(destinationFilePath, FileMode.Create));
您无法在PDF查看器中打开.png
文件。您的操作系统将尝试打开您正在创建的文件,就像它是一个图像一样,但该“图像”的字节将是PDF字节,而您的图像查看器将无法识别它。
更改此行:
string ext = ".png";
对此:
string ext = ".pdf";
您将能够在PDF查看器中打开文件。
顺便说一下:你的代码很尴尬。例如。我不明白你为什么要创建一个只执行一次的东西:
for (int j = 1; j <= 1; j++)
另外:如果您打算将PDF页面转换为PNG,请重新考虑。 iTextSharp不会将PDF转换为图像。