-
-
Notifications
You must be signed in to change notification settings - Fork 437
Closed
Description
Magick.NET version
Magick.NET-Q8-AnyCPU 13.6.0
Environment (Operating system, version and so on)
Windows 11
Description
when i convert the image to pdf, it genrate the pdf page with a small size,not A4 size
pageNumber 2 is normal A4 size
so how can i get the A4 size pdf with small image?
Steps to Reproduce
using var images = new MagickImageCollection();
var settings = new MagickReadSettings();
settings.Page = new MagickGeometryFactory().CreateFromPageSize("a4");
settings.Density = new Density(72);
settings.Width = settings.Page.Width;
settings.Height = settings.Page.Height;
var names = new string[] { "d20220118150203.png", "map.png" };
foreach (var name in names)
{
var image = new MagickImage(SRC + name, settings);
if(image.Width > settings.Page.Width || image.Height > settings.Page.Height)
{
// 计算图片应该被缩放到多大才能适应页面宽度并居中
double scaleX = settings.Page.Width / (double)image.Width;
double scaleY = settings.Page.Height / (double) image.Height;
double scale = scaleX < scaleY ? scaleX : scaleY;
int newX = (int)(image.Width * scale);
int newY = (int)(image.Height * scale);
// 设置图片的缩放和定位
image.Resize(newX, newY);
}
//图片居中显示
image.Extent(settings.Page, Gravity.Center);
images.Add(image);
}
// Create pdf file with two pages
images.Write(DEST + "Merge.pdf");
the test image used in code
Metadata
Metadata
Assignees
Labels
No labels



