两个图像到一个pdf文件每页一个图像

时间:2014-12-24 11:50:53

标签: c# pdfsharp

我有两张图片,我想将其转换为一个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文档大小?

2 个答案:

答案 0 :(得分:1)

如果您知道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));

答案 1 :(得分:1)

DrawImage有几个重载。使用允许您指定图像目标大小的重载。

三行代码允许计算图像大小以使用整个页面(如果需要,可以使用边距),同时保持宽高比。