How to down scale content of a pdf?

前端 未结 2 403
傲寒
傲寒 2020-12-04 04:29

i have a pdf which I need to down scale. The pdf is in A4 portrait mode, what I need is to shrink the content of the pdf to 5 % and put this into a new PDF also in size A4 a

2条回答
  •  萌比男神i
    2020-12-04 04:42

    Answer for PDFBox 2.0.*:

    try (PDDocument doc = PDDocument.load(new File("...")))
    {
        for (int p = 0; p < doc.getNumberOfPages(); ++p)
        {
            PDPage page = doc.getPage(p);
            try (PDPageContentStream cs = new PDPageContentStream(doc, page, AppendMode.PREPEND, true))
            {
                cs.saveGraphicsState();
                cs.transform(Matrix.getScaleInstance(0.05f, 0.05f));
                cs.saveGraphicsState();
            }
            try (PDPageContentStream cs = new PDPageContentStream(doc, page, AppendMode.APPEND, true))
            {
                cs.restoreGraphicsState();
                cs.restoreGraphicsState();
            }
        }
        doc.save(new File("...."));
    }
    

    You'll see something tiny in the bottom left.

提交回复
热议问题