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