Itext 为什么PDFWriter无法旋转页面?

Itext 为什么PDFWriter无法旋转页面?,itext,Itext,我有一个大小为729pt X 1224pt的输入pdf。在我们的应用程序中定义了三个函数,其中第一个函数将输入pdf旋转90度。 第二个函数,将宽度裁剪一半,因此生成的PDF大小为612pt X 729pt。第三个功能是插入重复页面 问题出现在第三个函数的结果中。第一页显示的是612pt X 729pt的正确肖像。但第二页仍然显示了729pt X 612pt的景观 循环中使用的代码段如下所示: PdfReader reader = Context.Reader; PdfDicti

我有一个大小为729pt X 1224pt的输入pdf。在我们的应用程序中定义了三个函数,其中第一个函数将输入pdf旋转90度。 第二个函数,将宽度裁剪一半,因此生成的PDF大小为612pt X 729pt。第三个功能是插入重复页面

问题出现在第三个函数的结果中。第一页显示的是612pt X 729pt的正确肖像。但第二页仍然显示了729pt X 612pt的景观

循环中使用的代码段如下所示:

PdfReader reader = Context.Reader;
        PdfDictionary pageDict = reader.GetPageN(iPage);
        PdfName psType = pageDict.GetAsName(PdfName.TYPE);
        if(psType != null) {
            if(PdfName.PAGE.ToString().CompareTo(psType.ToString()) == 0) {
                int iRotate = reader.GetPageRotation(iPage);
                if(iRotate >= 360)
                    iRotate -= 360;
                pageDict.Put(PdfName.ROTATE, new PdfNumber(iRotate));
            }

        
重复页面中使用的代码段:

PdfImportedPage page = Context.Writer.GetImportedPage(Context.Reader, iMappedPage);
        var pageDict = stamper.InsertPage(iMappedPage + 1, boxes);
        if (bIsPDFVT)
            pageDicts.Add(pageDict);
        PdfContentByte pdc = stamper.GetUnderContent(iMappedPage + 1);
        pdc.AddTemplate(page, 0, 0);    

此处上下文包含PdfReader、PdfWriter和PdfStamper对象

PDFIImportedPage对象包含绑定框和bbox信息,如(729X612旋转:0),PageDictionary对象还包含所有框,如(729X612)和旋转值0。