Zoom to fit: PDF Embedded in HTML

135,898

Solution 1

Bit of a late response but I noticed that this information can be hard to find and haven't found the answer on SO, so here it is.

Try a differnt parameter #view=FitH to force it to fit in the horzontal space and also you need to start the querystring off with a # rather than an & making it:

filename.pdf#view=FitH

What I've noticed it is that this will work if adobe reader is embedded in the browser but chrome will use it's own version of the reader and won't respond in the same way. In my own case, the chrome browser zoomed to fit width by default, so no problem , but Internet Explorer needed the above parameters to ensure the link always opened the pdf page with the correct view setting.

For a full list of available parameters see this doc

EDIT: (lazy mode on)

enter image description here enter image description here enter image description here enter image description here enter image description here

Solution 2

For me this worked(I wanted to zoom in since the container of my pdf was small):

    <embed src="filename.pdf#page=1&zoom=300" width="575" height="500">

Solution 3

This method uses "object", it also has "embed". Either method works:

<div id="pdf">
    <object id="pdf_content" width="100%" height="1500px" type="application/pdf" trusted="yes" application="yes" title="Assembly" data="Assembly.pdf?#zoom=100&scrollbar=1&toolbar=1&navpanes=1">
    <!-- <embed src="Assembly.pdf" width="100%" height="100%" type="application/x-pdf" trusted="yes" application="yes" title="Assembly">
    </embed> -->
    <p>System Error - This PDF cannot be displayed, please contact IT.</p>
    </object>
</div>

Solution 4

just in case someone need it, in firefox for me it work like this

<iframe src="filename.pdf#zoom=FitH" style="position:absolute;right:0; top:0; bottom:0; width:100%;"></iframe>

Solution 5

Followed @Rich answer, I used view=FitH in my code to view PDF content base64 in Angular as below.

I shared for whom concern about view base64 content PDF file with object tag using Angular framework.

The option for view PDF

this.pdfContent =
      URL.createObjectURL(this.b64toBlob(content, 'application/pdf')) +
      '#toolbar=0&navpanes=0&scrollbar=0&view=FitH';

Read PDF content from API as

let content = DataHelper.getDataFromAPI();

When click show content button use

showData() {
    let content = DataHelper.getDataFromAPI();

    this.pdfContent =
      URL.createObjectURL(this.b64toBlob(content, 'application/pdf')) +
      '#toolbar=0&navpanes=0&scrollbar=0&view=FitH';

    this.pdfview.nativeElement.setAttribute('data', this.pdfContent);
  }

In HTML file use object tag as

<object #pdfview
[data]=''
type="application/pdf"
width="100%"
height="800px"
>
</object>

Link Angular demo https://stackblitz.com/edit/angular-ivy-tdmieb

Share:
135,898

Related videos on Youtube

user3024833
Author by

user3024833

Updated on August 19, 2021

Comments

  • user3024833
    user3024833 almost 3 years

    I am embedding a local pdf file into a simple webpage and I am looking to set the initial zoom to fit to the object size. Here is what I tried but it is not affecting the zoom.

     <embed src="filename.pdf?zoom=50" width="575" height="500">
    

    does anyone know how to modify the code so its initial zoom is set to fit the object size.

    • Irgendw Pointer
      Irgendw Pointer over 10 years
      What about this?
    • user3024833
      user3024833 over 10 years
      the modifier I have in the code right now is not effecting the zoom of the pdf file, I need to figure out how to make the zoom fit to the object initally
  • Sergiu Z
    Sergiu Z almost 8 years
    #zoom=50 or #page=2&zoom=300 work perfectly both in chrome and IE. IE only seems to be responding to #view=Fit. More IE params here: partners.adobe.com/public/developer/en/acrobat/…
  • Vishal
    Vishal almost 8 years
    This was great. How do I force it to refit the page to FitH when I resize the browser window?
  • adrianp
    adrianp over 7 years
    I had a multiple page PDF and #zoom=100 worked for me.
  • RominNoodleSamurai
    RominNoodleSamurai over 7 years
    The documentation for the parameters in the URL, mentioned above, has moved to this link adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/…
  • Martin Eckleben
    Martin Eckleben about 7 years
    Why are you not the voted answer :) Thank you very much!
  • Vishal
    Vishal over 5 years
    Is there a way to change the color of the background container of the <embed> element? I see gray outside the document but inside the element. I'd prefer it to be transparent or inherited from the element.
  • Josef Bláha
    Josef Bláha over 4 years
    I was not able to make it work in Edge. The browser ignored the parameters. Chrome supports at least some of them (e.g. view, zoom, page).
  • Srk95
    Srk95 almost 4 years
    What if I want to load pdf from object data url and not using a filename.pdf?
  • polymath
    polymath about 3 years
    I came back to this answer a year or two later and it saved me again - 2 votes earned if I could!
  • AuRise
    AuRise over 2 years
    Using Wayback machine, I found the old link with the full list: web.archive.org/web/20140610174148/https://www.adobe.com/…
  • Realto619
    Realto619 about 2 years
    I answered this question here: stackoverflow.com/questions/18478120/… It requires creating an iframe, so it may not be ideal, but my solution provides some reusable code that I use on my websites. HTH!
  • Junius L.
    Junius L. about 2 years
    from the docs object or embed doesn't support percentage.