Я хотел бы улучшить свой сценарий, чтобы установить титульную страницу PDF для каждого объекта, когда пользователь устанавливает объект поверх шаблона в шаблоне.
Фактический процесс:
До настоящего времени я мог загружать .pdf
и .epub
форматы файлов в соответствии с объектом с некоторыми полями дополнений: title
, language
...
PDF хранится в каталоге media
в моем проекте.
На главной странице я отображаю все объекты следующим образом:
Как вы можете видеть в конце каждой публикации, есть glyphicon
, который позволяет до настоящего времени отображать внутри другой вкладки объектный файл PDF.
Ожидаемая идея:
Я хотел бы знать, есть ли способ отобразить окно с файлом PDF.Лучше будет отобразить только первую страницу PDF, чтобы определить титульную страницу для каждого объекта.
В моем HTML-файле есть строка, позволяющая отобразить мой PDF-файл на другой вкладке:
<td class="col-md-1"><a id="download-image_{{ document.id }}" href="http://localhost:8000/media/{{ document.upload }}"><span class="glyphicon glyphicon-blackboard"></span></a></td>
Полагаю, мне нужно обработать эту строку и добавить javascript из pdf.js
, чтобы получить только первую страницу и отобразить ее в виде рисунка.
Я прочитал документацию PDF.js.и я хотел бы получить некоторую помощь для отображения моей первой страницы PDF.Документация и примеры из PDF.js разные, но я не могу понять, как я могу это сделать.
Редактировать:
Благодаря KedasМенди, это то, что я имею в соответствии с его ответом.Но я не могу показать свой pdf.
В моем html-файле у меня есть таблица с:
<script src="https://mozilla.github.io/pdf.js/build/pdf.js"></script>
<script src="../static/freepub/js/customPdf.js"></script>
<table>
<td class="col-md-1">
<canvas class="the-canvas"><a href="http://localhost:8000/media/{{ document.upload }}"><span class="glyphicon glyphicon-blackboard"></span></a></canvas>
</td>
</table>
И мой файл customPdf.js:
pdfjsLib.getDocument('http://localhost:8000/media/media/loremipsum.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);
});
До сих пор getDocument()
указывает на определенный файл PDF, но в конце это будет переменная django.
В любом случае, я не отображаю файл PDF