How to set the zoom level of a PDF using iTextSharp?
I am using following code to set the zoom level.
PdfReader reader = new PdfReader("input.pdf".ToString()); Document doc = Document(reader.GetPageSize(1)); doc.OpenDocument(); PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream("Zoom.pdf", FileMode.Create)); PdfDestination pdfDest = new PdfDestination( PdfDestination.XYZ, 0, doc.PageSize.Height, 0.75f); doc.Open(); PdfAction action = PdfAction.GotoLocalPage(1, pdfDest, writer); writer.SetOpenAction(action); doc.Close();
doc.Close();
Posted on StackOverflow on Jun 6, 2014 by mail2vguna
You need to use PdfStamper
instead of PdfWriter
. Please take a look at the AddOpenAction example:
public void manipulatePdf(String src, String dest) throws IOException, DocumentException {
PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
PdfDestination pdfDest = new PdfDestination(
PdfDestination.XYZ, 0, reader.getPageSize(1).getHeight(), 0.75f);
PdfAction action = PdfAction.gotoLocalPage(1, pdfDest, stamper.getWriter());
stamper.getWriter().setOpenAction(action);
stamper.close();
reader.close();
}
The result is a PDF that opens with a zoom factor of 75%.