我知道如何从各种图像文件创建 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 时似乎会发生压缩。有什么方法可以压缩图像而无需再次保存并重新加载?