0

我知道如何从各种图像文件创建 PDF('imagePaths' 是 .jpg,'fileNameFullPath' 是 .pdf))

https://github.com/dlemstra/Magick.NET/blob/main/docs/ConvertPDF.md

    public void CreatePDF(string[] imagePaths)
    {
        using (var collection = new MagickImageCollection())
        {
            // Add first page
            collection.Add(new MagickImage(imagePaths[0]));
            // Add second page
            collection.Add(new MagickImage(imagePaths[1]));

            // Create pdf file with two pages
            collection.Write("out.pdf");
        }
    }

这很好用,但是,如果我尝试使用位图

    public void CreatePDF(Bitmap bitmap)
    {
        using (var collection = new MagickImageCollection())
        {
            var m = new MagickFactory();
            MagickImage image = new MagickImage(m.Image.Create(bitmap));
            image.Format = MagickFormat.Jpg;
            image.Quality = 60;
            image.Write("test.jpg");
            collection.Add(image);
            collection.Write("test.pdf", MagickFormat.Pdf);
        }
    }

奇怪的事情发生了:

  • 'test.jpg'(我创建它只是为了检查大小)被正确压缩(52 kb)
  • 'test.pdf' 未压缩 (2000 kb)

保存到 .jpg 时似乎会发生压缩。有什么方法可以压缩图像而无需再次保存并重新加载?

4

0 回答 0