Pdf页面异常内容过大,缩放问题

现有文档,页面的宽度已经超过了A2的正常宽度如图:
11.pdf (4.7 MB)
现在需要将页面的内容缩放到A4正常页面的宽度
image.png (4.5 KB)
这样方式操作页面大小是变了,内容就变成剪切了

@hailin

感谢您与支持人员联系。

我们附加了生成的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)

@hailin

您可以按照本文中的说明调整页面内容的大小。 你可以在Units和Percents中调整大小。 然后你可以按照解释这里修剪空白区域。

能否提供下示例代码呢?提供参考

@hailin

代码示例已存在于文档文章中。 但是,我们还提出了调整页面内容大小的代码。

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) 缩放的百分比如何计算。可能我有个文件,每个页面的尺寸大小都不一样。

@hailin

根据您的要求,您可以将30%更改为其他数字。 或者您可以尝试使用PdfFileEditor.ContentsResizeValue.Units。

试了下你们提供的方案,你们提供的方案是可行了。唯独像这样的页面缩放始终有点问题,麻烦看下啥原因。
页面从 06112.pdf (4.5 MB)
缩放的代码image.png (6.4 KB)
我们在处理缩放过程中出现了一些问题。出现缩放的内容变形,页面的宽度和高度都超过了我们平时的文件高度。无法使用按比例进行缩放

@hailin

您是否可以在屏幕截图的帮助下详细说明您的问题以及您对预期输出的期望,以便我们进一步调查。