Tengo un archivo PDF generado automáticamente por itext y necesito mostrar ese archivo PDF en HTML. Mi pregunta es: ¿Cómo mostrar un archivo PDF local en HTML usando pdf.js ? ¿Debería ese archivo PDF ser generado por algunos estándares?
Tengo un archivo PDF generado automáticamente por itext y necesito mostrar ese archivo PDF en HTML. Mi pregunta es: ¿Cómo mostrar un archivo PDF local en HTML usando pdf.js ? ¿Debería ese archivo PDF ser generado por algunos estándares?
Respuestas:
La implementación de un archivo PDF en su página web HTML es muy fácil.
<embed src="file_name.pdf" width="800px" height="2100px" />
Asegúrese de cambiar el ancho y la altura según sus necesidades. ¡Buena suerte!
<iframe src="file_name.pdf" style="width: 100%;height: 100%;border: none;"></iframe>
Uso el visor de PDF incrustable de Google Docs. Los documentos no tienen que cargarse en Google Docs, pero sí deben estar disponibles en línea.
<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>
puede mostrar fácilmente en una página html como esta
<embed src="path_of_your_pdf/your_pdf_file.pdf" type="application/pdf" height="700px" width="500">
En la página html para pc es fácil de implementar
<embed src="study/sample.pdf" type="application/pdf" height="300px" width="100%">
pero no se puede mostrar el pdf en el móvil con este código, debe necesitar un complemento
si no ha respondido a su sitio. Luego, el código PDF anterior no se muestra en el móvil, pero puede poner la opción de descarga después del código
<embed src="study/sample.pdf" type="application/pdf" height="300px" width="100%" class="responsive">
<a href="study/sample.pdf">download</a>
La forma más simple es usar,
<iframe src="pdf-link">
</iframe>
y si todavía se está descargando en lugar de ver, verifique el encabezado de respuesta del servidor, debería tener, Content-Disposition:Inline
y no Content-Disposition:Attachment
,.
1. Incrustación en línea HTML nativa del navegador:
<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>
Pro:
Contras:
2. Visor de documentos de 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>
Pro:
Contras:
3. Otras soluciones para incrustar PDF:
NOTA IMPORTANTE:
Verifique el encabezado de respuesta HTTP X-Frame-Options. Debería ser SAMEORIGIN.
X-Frame-Options SAMEORIGIN;
Formato de documento portátil ( PDF ).
Cualquier navegador «Use _Embeddable Google Document Viewer para incrustar el archivo 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>
Solo para el navegador Chrome «Visor de PDF de Chrome con complemento 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 de ejemplo:
<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:[<media type>][;base64],<data></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>
<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>
</pre>
</p>
</div>
</div>
</div>
</body>
</html>
El elemento es compatible con todos los navegadores y define un objeto incrustado dentro de un documento HTML.
En pocas palabras: OBJETO es bueno, EMBED es viejo. Además de las etiquetas PARAM de IE, cualquier contenido entre las etiquetas OBJECT se representará si el navegador no es compatible con el complemento referido de OBJECT, y aparentemente, el contenido se solicita http independientemente de si se representa o no. Referencia
Código de trabajo: 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>
Puedes usar
<iframe src="your_pdf_file_path" height="100%" width="100%" scrolling="auto"></iframe>
O, si quieres que ocupe toda la página:
<a href="your_pdf_file_path>Link</a>