Да, это возможно, с HTML5!
https://github.com/mozilla/pdf.js/
Это библиотека на чистом javascript, которая использует функции HTML5 для открытия файла PDF и его рендеринга на странице.
Я успешно протестировал библиотеку в следующих браузерах:
- IE9 и текущая версия Google Chrome, Firefox, Safari
- IE8 и ниже не поддерживают pdf.js (без функций HTML5)
Использование
Включите библиотеки javascript в файл HTML и добавьте -element (это элемент HTML5, поэтому он будет работать только в браузерах HTML5):
<body>
<canvas id="the-canvas" style="border:1px solid black;"/>
</body>
Используйте вызов javascript, подобный этому, чтобы отобразить PDF внутри этого холста:
PDFJS.getDocument('your-file-goes-here.pdf').then(function(pdf) {
pdf.getPage(1).then(function(page) {
var scale = 1.5;
var viewport = page.getViewport(scale);
var canvas = document.getElementById('the-canvas');
var context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
var renderContext = {
canvasContext: context,
viewport: viewport
};
page.render(renderContext);
});
});