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