HTML로 PDF 파일을 표시하는 방법?


155

itext에 의해 자동 생성 된 PDF 파일이 있으며 해당 PDF 파일을 HTML로 표시해야합니다. 내 질문은 : pdf.js를 사용하여 HTML로 로컬 PDF 파일을 표시하는 방법은 무엇입니까? 해당 표준에 따라 PDF 파일을 생성해야합니까?


답변:


230

HTML 웹 페이지에서 PDF 파일을 구현하는 것은 매우 쉽습니다.

<embed src="file_name.pdf" width="800px" height="2100px" />

필요에 따라 너비와 높이를 변경하십시오. 행운을 빕니다!


훌륭한 해결책, 간단합니다.
AugustoL

5
<iframe src="file_name.pdf" style="width: 100%;height: 100%;border: none;"></iframe>
Ĭsααc t ի ε βöss

<embed>태그는 HTML5의 새로운 기능으로 매우 편리합니다. 여기 링크
Belter

2
가장 좋은 방법은에 설명되어 있습니다 jsgyan.blogspot.in/2017/12/...
의 Suman Bogati에게

1
Chrome 브라우저의 휴대 기기에서 플러그인이 지원되지 않음을 보여줍니다.
JWC 5 월

50

Google 문서 도구 내장 PDF 뷰어를 사용합니다. 문서를 Google 문서 도구에 업로드 할 필요는 없지만 온라인에서 사용할 수 있어야합니다.

<iframe src="https://docs.google.com/gview?url=https://path.com/to/your/pdf.pdf&embedded=true" style="width:600px; height:500px;" frameborder="0"></iframe>


Google 문서 뷰어와 함께 iframe을 사용해야합니다. 그렇지 않으면 호스팅에 따라 "응용 프로그램 방화벽에서 오류가 발견되었습니다"라는 메시지가 표시 될 수 있습니다.
user890332

1
이 방법은 최대 25MB의 PDF 만 지원합니다.
tommybond

2
Google 드라이브에 pdf 파일을 포함하려는 경우 추가 의견이 있습니다. pdf를 클릭 한 후 "내장 항목"을 찾으면 iframe HTML이 생성됩니다.
Daisy Qin

온라인 일 필요는 없습니다. 자산에 로컬로 저장하고 가리킬 수 있습니다
Manzur Khan

24

당신이 사용 pdf.js 원하는 경우에, 나는 당신이 읽을 제안 본을

Google 드라이브와 같은 곳에 PDF를 업로드하고 URL을 iframe에서 사용할 수도 있습니다

또는

<object data="data/test.pdf" type="application/pdf" width="300" height="200">
<a href="data/test.pdf">test.pdf</a>
</object>

15

이처럼 html 페이지에 쉽게 표시 할 수 있습니다

<embed src="path_of_your_pdf/your_pdf_file.pdf" type="application/pdf"   height="700px" width="500">


11

PC 용 HTML 페이지에서 구현하기 쉽다

<embed src="study/sample.pdf" type="application/pdf"   height="300px" width="100%">

그러나이 코드로 모바일에서 pdf 쇼는 불가능합니다 플러그인이 필요합니다

사이트에 반응이없는 경우 그런 다음 위의 코드 pdf는 모바일에 표시되지 않지만 코드 뒤에 다운로드 옵션을 넣을 수 있습니다

<embed src="study/sample.pdf" type="application/pdf"   height="300px" width="100%" class="responsive">
<a href="study/sample.pdf">download</a>

크롬에서는 괜찮지 만 IE에서는 작동하지 않습니다. IE에서 할 수있는 방법
Hong Van Vit

7

가장 간단한 방법은 사용하는 것입니다,

<iframe src="pdf-link">
</iframe>

그 여전히지고 경우 다운로드 보기가 아닌, 서버 응답 헤더를 확인, 그것을 가지고해야한다 Content-Disposition:Inline,하지 Content-Disposition:Attachment.


7

1. 브라우저 네이티브 HTML 인라인 임베딩 :

<embed
    src="http://infolab.stanford.edu/pub/papers/google.pdf#toolbar=0&navpanes=0&scrollbar=0"
    type="application/pdf"
    frameBorder="0"
    scrolling="auto"
    height="100%"
    width="100%"
></embed>
<iframe
    src="http://infolab.stanford.edu/pub/papers/google.pdf#toolbar=0&navpanes=0&scrollbar=0"
    frameBorder="0"
    scrolling="auto"
    height="100%"
    width="100%"
></iframe>

찬성:

  • PDF 파일 크기 제한 없음 (수백 MB)
  • 가장 빠른 솔루션입니다

단점 :

  • 모바일 브라우저에서는 작동하지 않습니다

2. Google 문서 도구 뷰어 :

<iframe
    src="https://drive.google.com/viewerng/viewer?embedded=true&url=http://infolab.stanford.edu/pub/papers/google.pdf#toolbar=0&scrollbar=0"
    frameBorder="0"
    scrolling="auto"
    height="100%"
    width="100%"
></iframe>

찬성:

  • 데스크톱 및 모바일 브라우저에서 작동

단점 :

  • 25MB 파일 제한
  • 뷰어를 다운로드하려면 추가 시간이 필요합니다

3. PDF를 포함하는 다른 솔루션 :


중요 사항:

X-Frame-Options HTTP 응답 헤더를 확인하십시오. SAMEORIGIN이어야합니다.

X-Frame-Options SAMEORIGIN;

6

휴대용 문서 형식 ( PDF ).

  • 모든 브라우저« _Embeddable Google Document Viewer 를 사용 하여에 PDF 파일을 포함시킵니다 iframe.

    <iframe src="http://docs.google.com/gview?
        url=http://infolab.stanford.edu/pub/papers/google.pdf&embedded=true"
        style="width:600px; height:500px;" frameborder="0">
    </iframe>
  • Chrome 브라우저 전용«플러그인을 사용하는 Chrome PDF 뷰어. pluginspage=http://www.adobe.com/products/acrobat/readstep2.html.

    <embed type="application/pdf" 
    src="http://www.oracle.com/events/global/en/java-outreach/resources/java-a-beginners-guide-1720064.pdf" 
    width="100%" height="500" alt="pdf" pluginspage="http://www.adobe.com/products/acrobat/readstep2.html" 
    background-color="0xFF525659" top-toolbar-height="56" full-frame="" internalinstanceid="21" 
    title="CHROME">

예 :

<html>
   <head></head>
   <body style=" height: 100%;">
      <div style=" position: relative;">
      <div style="width: 100%; /*overflow: auto;*/ position: relative;height: auto; margin-top: 70px;">
         <p>An 
            <a href="https://en.wikipedia.org/wiki/Image_file_formats" >image</a> is an artifact that depicts visual perception
         </p>
         <!-- To make div with scroll data [max-height: 500;]-->
         <div style="/* overflow: scroll; */ max-height: 500; float: left; width: 49%; height: 100%; ">
            <img width="" height="400" src="https://peach.blender.org/wp-content/uploads/poster_bunny_bunnysize.jpg?x11217" title="Google" style="-webkit-user-select: none;background-position: 0px 0px, 10px 10px;background-size: 20px 20px;background-image:linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee 100%),linear-gradient(45deg, #eee 25%, white 25%, white 75%, #eee 75%, #eee 100%);cursor: zoom-in;" />
            <p>Streaming an Image form Response Stream (binary data) «  This buffers the output in smaller chunks of data rather than sending the entire image as a single block. 
               <a href="http://www.chestysoft.com/imagefile/streaming.asp" >StreamToBrowser</a>
            </p>
         </div>
         <div style="float: left; width: 10%; background-color: red;"></div>
         <div style="float: left;width: 49%; ">
            <img width="" height="400" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot"/>
            <p>Streaming an Image form Base64 String « embedding images directly into your HTML.
               <a href="https://en.wikipedia.org/wiki/Data_URI_scheme">
               <sup>Data URI scheme</sup>
               </a>
               <a href="https://codebeautify.org/image-to-base64-converter">
               <sup>, Convert Your Image to Base64</sup>
               </a>
            <pre>data:[&lt;media type&gt;][;base64],&lt;data&gt;</pre>
            </p>
         </div>
      </div>
      <div style="width: 100%;overflow: auto;position: relative;height: auto; margin-top: 70px;">
      <video style="height: 500px;width: 100%;" name="media" controls="controls">
         <!-- autoplay -->
         <source src="http://download.blender.org/peach/trailer/trailer_400p.ogg" type="video/mp4">
         <source src="http://download.blender.org/peach/trailer/trailer_400p.ogg" type="video/ogg">
      </video>
      <p>Video courtesy of 
         <a href="https://www.bigbuckbunny.org/" >Big Buck Bunny</a>.
      </p>
      <div>
         <div style="width: 100%;overflow: auto;position: relative;height: auto; margin-top: 70px;">
            <p>Portable Document Format 
               <a href="https://acrobat.adobe.com/us/en/acrobat/about-adobe-pdf.html?promoid=CW7625ZK&mv=other" >(PDF)</a>.
            </p>
            <div style="float: left;width: 49%; overflow: auto;position: relative;height: auto;">
               <embed type="application/pdf" src="http://www.oracle.com/events/global/en/java-outreach/resources/java-a-beginners-guide-1720064.pdf" width="100%" height="500" alt="pdf" pluginspage="http://www.adobe.com/products/acrobat/readstep2.html" background-color="0xFF525659" top-toolbar-height="56" full-frame="" internalinstanceid="21" title="CHROME">
               <p>Chrome PDF viewer 
                  <a href="https://productforums.google.com/forum/#!topic/chrome/MP_1qzVgemo">
                  <sup>extension</sup>
                  </a>
                  <a href="https://chrome.google.com/webstore/detail/surfingkeys/gfbliohnnapiefjpjlpjnehglfpaknnc">
                  <sup> (surfingkeys)</sup>
                  </a>
               </p>
            </div>
            <div style="float: left; width: 10%; background-color: red;"></div>
            <div style="float: left;width: 49%; ">
               <iframe src="https://docs.google.com/gview?url=http://infolab.stanford.edu/pub/papers/google.pdf&embedded=true#:page.7" style="" width="100%" height="500px" allowfullscreen="" webkitallowfullscreen=""></iframe>
               <p>Embeddable 
                  <a href="https://googlesystem.blogspot.in/2009/09/embeddable-google-document-viewer.html" >Google</a> Document Viewer. Here's the code I used to embed the PDF file: 
<pre>
&lt;iframe 
src="http://docs.google.com/gview?
url=http://infolab.stanford.edu/pub/papers/google.pdf&embedded=true" 
style="width:600px; height:500px;" frameborder="0"&gt;&lt;/iframe&gt;
</pre>
               </p>
            </div>
         </div>
      </div>
   </body>
</html>


5

나는 전에 비슷한 것을 가지고 있었고 보통 태그를 사용했다.

<a href="path_of_your_pdf/your_pdf_file.pdf" tabindex="-1"><strong>click here</strong></a>

그러나 위와 같은 다른 방법을 찾는 것이 흥미 롭습니다!


2

이 요소는 모든 브라우저에서 지원되며 HTML 문서 내에 포함 된 개체를 정의합니다.

결론 : OBJECT는 양호하고 EMBED는 낡았습니다. IE의 PARAM 태그 외에도 브라우저가 OBJECT의 참조 된 플러그인을 지원하지 않으면 OBJECT 태그 사이의 모든 컨텐츠가 렌더링되며, 컨텐츠의 렌더링 여부에 관계없이 http가 요청됩니다. 참고

작업 코드 : https://www.w3schools.com/code/tryit.asp?filename=G7L8BK6XC0A6

<!DOCTYPE html>
<html>
<body>

<object width="400px" height="400px" data="https://s3.amazonaws.com/dq-blog-files/pandas-cheat-sheet.pdf"></object>
</body>
</html>


0

당신이 사용할 수있는

<iframe src="your_pdf_file_path" height="100%" width="100%" scrolling="auto"></iframe>

또는 전체 페이지를 차지하게하려면 다음을 수행하십시오.

<a href="your_pdf_file_path>Link</a>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.