两个图像到一个pdf文件,每页一个图像
本文关键字:图像 一个 文件 两个 pdf | 更新日期: 2023-09-27 18:35:08
我有两个图像,我想将其转换为一个pdf文件,并在页面中包含一个图像...在 C# 中执行此操作的最简单方法是什么?
编辑:我尝试了以下代码(添加了PdfSharp参考):
string source1 = @"MySource1.JPG";
string source2 = @"MySource2.JPG";
string destinaton = @"MyDest.pdf";
PdfDocument doc = new PdfDocument();
doc.Pages.Add(new PdfPage());
doc.Pages.Add(new PdfPage());
XGraphics xgr = XGraphics.FromPdfPage(doc.Pages[0]);
XImage img = XImage.FromFile(source1);
XGraphics xgr2 = XGraphics.FromPdfPage(doc.Pages[1]);
XImage img2 = XImage.FromFile(source2);
xgr.DrawImage(img, 0, 0);
xgr2.DrawImage(img2, 0, 0);
doc.Save(destinaton);
doc.Close();
现在它正在用我的两页创建一个pdf,但现在的问题是图像被剪切而不是原始大小! 图片的大小为 3264x2448。如何将图像大小固定为 pdf 文档大小?
DrawImage 有几个重载。使用允许您指定映像的目标大小的重载。
三行代码允许计算图像大小以使用整个页面(如果需要,带有边距),同时保持纵横比。
如果您知道 pdf 文档的大小,则可以将图像大小调整为:
Bitmap objBitmap = new Bitmap(objImage, new Size(size1, size2));
其中objImage
是您的原始图像。
或类似:
public static Image resizeImage(Image imgToResize, Size size)
{
return (Image)(new Bitmap(imgToResize, size));
}
objBitmap = resizeImage(objBitmap, new Size(size1,size2));