如何创建多页 PDF,每页一个图像,并保持构成它的任何图像的像素大小和像素/英寸相同

问题描述

我有一个包含一些图像的文件夹,所有图像的大小(5315x3780 像素)和分辨率(300 像素/英寸)都相同。 我想创建一个简单的 PDF,其页面数与该文件夹中的图像一样多,其中每个页面只包含这些图像中的一个,没有额外的边距/填充/间距。 我想实现的是,当我用 Photoshop 打开结果 PDF 时,页面的大小和分辨率与组成它的图像相同。

我现在正在使用此代码

    private void ConvertimagesIntoPDF(string sourceImg,string outputPath)
    {
        string[] imgs = Directory.GetFiles(sourceImg,"*.jpg",SearchOption.TopDirectoryOnly);

        using (var stream = File.Create(outputPath))
        using (var doc = new Document())
        using (var pdfWriter = PdfWriter.GetInstance(doc,stream))
        {
            doc.open();

            foreach (var file in imgs)
            {
                using (var imagestream = File.OpenRead(file))
                {
                    var image = iTextSharp.text.Image.GetInstance(imagestream);
                    doc.Add(image);
                }
            }

            doc.Close();
        }
    }

但它不起作用!结果 PDF 具有不同的大小(2329x3358 像素),其中的图像具有不同的分辨率(72 像素/英寸)。

source image info (File Explorer)

result pdf page info (Photoshop)

result pdf image info (Photoshop)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)