现有文档,页面的宽度已经超过了A2的正常宽度如图:
11.pdf (4.7 MB)
现在需要将页面的内容缩放到A4正常页面的宽度
image.png (4.5 KB)
这样方式操作页面大小是变了,内容就变成剪切了
感谢您与支持人员联系。
我们附加了生成的PDF文档和下面的代码片段。 现在请解释您的疑虑或要求,以便我们进一步调查。 123_19.8.pdf
Document document = new Document(dataDir + "11.pdf");
PdfFileInfo info = new PdfFileInfo(document);
foreach (Page page in document.Pages)
{
if (info.GetPageWidth(page.Number) > PageSize.A2.Width)
{
if (info.GetPageWidth(page.Number) > info.GetPageHeight(page.Number))
{
page.SetPageSize(597.6, 842.4);
}
}
if (page.Rotate == Rotation.on90 || page.Rotate == Rotation.on270)
{
page.MediaBox.Rotate(Rotation.on180);
}
}
document.Save(dataDir + "123_19.8.pdf");
是这样的,给你上传的PDF文件一个就两个页面,一个页面属于正常页面,一个页面的Width的值大概是4000多了,我们是想通过对PDF操作。让他们两个页面在PDF阅读器上显示的宽度一样。也就是说大于A2的宽度按比例进行缩放,要保证内容的完整性。
11.pdf (4.7 MB)
能否提供下示例代码呢?提供参考
代码示例已存在于文档文章中。 但是,我们还提出了调整页面内容大小的代码。
int[] pages = { 1 };
// Create PdfFileEditor Object
PdfFileEditor fileEditor = new PdfFileEditor();
// Open PDF Document
Document doc = new Document(dataDir + "11.pdf");
// Specify Parameter to be used for resizing
PdfFileEditor.ContentsResizeParameters parameters = new PdfFileEditor.ContentsResizeParameters(
PdfFileEditor.ContentsResizeValue.Percents(30), null,
PdfFileEditor.ContentsResizeValue.Percents(30),
PdfFileEditor.ContentsResizeValue.Percents(30), null,
PdfFileEditor.ContentsResizeValue.Percents(30));
// Resize Page Contents
fileEditor.ResizeContents(doc, pages, parameters);
// Save document into new location.
doc.Save(dataDir + "Resize_19.8.pdf");
PdfFileEditor.ContentsResizeValue.Percents(30) 缩放的百分比如何计算。可能我有个文件,每个页面的尺寸大小都不一样。
试了下你们提供的方案,你们提供的方案是可行了。唯独像这样的页面缩放始终有点问题,麻烦看下啥原因。
页面从 06112.pdf (4.5 MB)
缩放的代码image.png (6.4 KB)
我们在处理缩放过程中出现了一些问题。出现缩放的内容变形,页面的宽度和高度都超过了我们平时的文件高度。无法使用按比例进行缩放