Search code examples
c#pdfitextacrobatzooming

How to set a default zoom of 100% using iTextSharp 4.0.2?


I want the PDF reader (Adobe Reader) to open the PDF file with zoom automatically set to 100%.

Thanks!


Solution

  • I found this code snippet when investigating iTextSharp for myself and found 2 people referring to Open Actions. I've included a snippet from http://www.developerbarn.com/blogs/richyrich-33.htm below:

    PdfWriter writer = PdfWriter.GetInstance(doc, HttpContext.Current.Response.OutputStream);
    
    //this creates a new destination to send the action to when the document is opened. The zoom in this instance is set to 0.75f (75%). Again I use doc.PageSize.Height to set the y coordinate to the top of the page. PdfDestination.XYZ is a specific PdfDestination Type that allows us to set the location and zoom.
    PdfDestination pdfDest = new PdfDestination(PdfDestination.XYZ, 0, doc.PageSize.Height, 0.75f);
    
    //open our document
    doc.Open();
    
    //here you put all the information you want to write to your PDF
    
    //create a new action to send the document to our new destination.
    PdfAction action = PdfAction.GotoLocalPage(1, pdfDest, writer);
    
    //set the open action for our writer object
    writer.SetOpenAction(action);
    
    //finally, close our document
    doc.Close();