【发布时间】:2016-06-10 04:50:02
【问题描述】:
我正在尝试执行一个简单的操作:在使用 .NET Framework 4.0 和 MVC.NET 使用 PDFsharp v1.32.2608.0 从头生成的 PDF 文件中添加照片(JPG 文件)
我正在使用下一个代码来执行此操作:
PdfDocument doc = new PdfDocument();
PdfPage pag = doc.AddPage();
XGraphics gfx = XGraphics.FromPdfPage(pag);
Image foto = Image.FromStream([stream]);
XImage xfoto = XImage.FromGdiPlusImage(foto);
gfx.DrawImage(xfoto, 30, 130, 380, 250);
MemoryStream stream = new MemoryStream();
doc.Save(stream, false);
问题是我打开PDF文件时,图片出现错误,损坏,损坏...不知道怎么解释,可以下载原图和生成的PDF在下@987654321 @查看结果。
这个错误不一致,有些照片有这个确切的问题,有些没有,我不知道为什么。也许是文件中的格式或类似的东西?如果这是问题所在,哪些格式有效?
任何帮助将不胜感激。
编辑:我注意到的是,错误的图像看起来会有所不同,具体取决于我使用哪个程序可视化 PDF。例如,如果您使用 Dropbox 的可视化工具(使用我提供的链接)查看 PDF,则图像看起来不错;如果我使用 Chrome PDF 查看器,图像是错误的,但只显示为黑白和条纹,但仍然可见;如果我使用 Adobe Acrobat Reader DC,图像仍然是错误的,但完全无法识别。
编辑 2:我更改为 PDFSharp v1.50.4000(测试版 3)以查看是否可能是库的问题,但问题仍然相同。新版本的代码如下:
PdfDocument doc = new PdfDocument();
PdfPage pag = doc.AddPage();
XGraphics gfx = XGraphics.FromPdfPage(pag);
XImage xfoto = XImage.FromStream([stream]);
gfx.DrawImage(xfoto, 30, 130, 380, 250);
MemoryStream stream = new MemoryStream();
doc.Save(stream, false);
【问题讨论】:
-
考虑到您的编辑可能存在 jpg 本身的问题...您可以分享它以供检查吗?
-
@mkl 该图像可以在 Dropbox 上找到(参见代码框下方文本中的链接)。