我能够在单独的文档中创建纵向页面和横向页面,但现在需要在一个文档中执行此操作。我正在使用ITextSharp库,document.setpagesize似乎适用于所有页面。这是对的吗?
我使用的是PDFLib,更改页面方向不是该库中的问题。
有什么建议吗? 保罗。
答案 0 :(得分:5)
它只应用于该调用后呈现的页面。
Document doc = new Document(PageSize.WHAT_EVER);
PdfWriter writer = new PdfWriter( doc, outputStream );
doc.open();
// so long as you set the page size before add()ing anything, it should ignore the
// page sized used in the constructor.
doc.setPageSize(PageSize.LETTER); // 8.5" x 11"
// actually, I think you need to call newPage or actually add enough stuff to start a new page
// for setPageSize to take effect. setPageSize by itself won't do the trick.
doc.add(stuffToFillALetterPageButNotStartANewOne);
doc.setPageSize(new Rectangle(792f, 612f)); // 11" x 8.5"
doc.add(moreStuffToFillALandscapePageThusStartingANewPage);
doc.close();
生成的PDF应该有两页。将是8.5x11,其他11x8.5。请注意,iText [sharp]不会生成旋转页面(8.5“x11”@ 90度(或270 ... 颤抖))。它比......更清晰。
处理旋转页面并不好玩。至少在我的TOO_MANY_YEARS使用PDF体验中,我从未遇到过180转的8.5x11。那时我只需要陷入杀气腾腾的愤怒之中。或者也许我应该生成一些PDF文件,只是为了看看我能抓住他们的裤子。
[在这里插入邪恶的傻瓜]