两个图像到一个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 文档大小?

两个图像到一个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));