จะแสดงไฟล์ PDF เป็น HTML ได้อย่างไร?


155

ฉันมีไฟล์ PDF ที่สร้างขึ้นอัตโนมัติโดยitextและฉันต้องแสดงไฟล์ PDF นั้นใน HTML คำถามของฉันคือ: จะแสดงไฟล์ PDF ในเครื่องใน HTML โดยใช้pdf.js ได้อย่างไร? ควรสร้างไฟล์ PDF โดยมาตรฐานบางอย่างหรือไม่


1
อาจเป็นไปได้ที่จะแสดง PDF
Rizvan

คำตอบ:


230

การติดตั้งไฟล์ PDF ในหน้า HTML ของคุณนั้นง่ายมาก

<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
มันแสดงให้เห็นว่าปลั๊กอินที่ไม่รองรับในอุปกรณ์มือถือบนเบราว์เซอร์โครม
JWC

50

ฉันใช้โปรแกรมดู PDF แบบฝังของ Google เอกสาร ไม่จำเป็นต้องอัปโหลดเอกสารไปยัง 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>


คุณต้องใช้ iframe ร่วมกับโปรแกรมดู Google docs มิฉะนั้นคุณอาจได้รับข้อความ "ตรวจพบข้อผิดพลาดจาก Application Firewall" ขึ้นอยู่กับโฮสติ้งของคุณ
user890332

1
โปรดทราบว่าวิธีนี้รองรับ PDF ได้สูงสุด 25mb
tommybond

2
เป็นเพียงความคิดเห็นเพิ่มเติมหากคุณต้องการฝังไฟล์ pdf ในไดรฟ์ google หลังจากคลิกลงใน pdf ให้ค้นหา "รายการฝัง" ซึ่งจะสร้าง iframe HTML
เดซี่ฉิน

ไม่จำเป็นต้องออนไลน์คุณสามารถเก็บมันไว้ในทรัพย์สินของคุณในพื้นที่และชี้ไปที่มัน
Manzur Khan

24

หากคุณต้องการใช้ pdf.js ฉันขอแนะนำให้คุณอ่านสิ่งนี้

คุณยังสามารถอัปโหลดไฟล์ PDF ของคุณได้ (เช่น Google Drive) และใช้ URL ใน iframe

หรือ

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


11

ในหน้า 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:InlineContent-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:


โน๊ตสำคัญ:

โปรดตรวจสอบส่วนหัวการตอบสนอง HTTP X-Frame-Options ควรเป็น 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 Viewer โดยใช้ปลั๊กอิน 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">

ตัวอย่าง Sippet:

<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

บรรทัดล่าง: วัตถุประสงค์คือดี, EMBED เก่า นอกเหนือจากแท็ก PARAM ของ IE เนื้อหาใด ๆ ระหว่างแท็ก 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.