iText: Successfully resize one page pdf, but fail when there are multiple pages in the pdf document

前端 未结 1 1202
长发绾君心
长发绾君心 2021-01-16 04:50

I need to resize every page in my pdf from letter to legal size. Here is what I got so far

 public void resize (float x, float y, float scale) throws Excepti         


        
相关标签:
1条回答
  • 2021-01-16 05:42

    Here is the answer. I need doc.newPage() in the loop, read Marc B comment on my original question for more information

    public void resize (float x, float y, float scale) throws Exception {
        PdfReader reader = new PdfReader(pdfIn);
        Document doc = new Document(PageSize.LEGAL, 0, 0, 0, 0);
        PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream(pdfOut));
        doc.open();
        PdfContentByte cb = writer.getDirectContent();
        for(int i=1; i<=reader.getNumberOfPages(); i++){
            doc.newPage();
            PdfImportedPage page = writer.getImportedPage(reader, i);
            cb.addTemplate(page, scale, 0, 0, scale, x, y);
        }
        doc.close();
    }
    
    0 讨论(0)
提交回复
热议问题