Как получить номера страниц в PDF, сгенерированные HTML с WKHTMLTOPDFHtml

Программисты Html
Ответить Пред. темаСлед. тема
Anonymous
 Как получить номера страниц в PDF, сгенерированные HTML с WKHTMLTOPDF

Сообщение Anonymous »

Вот наш ответ: < /p>
В настоящее время мы используем wkhtmltopdf для генерации PDF из данного шаблона HTML.

Some background information:

We are using Sulu CMF to build our back end, which is based on Symfony2.
The KnpSnappy Bundle is used as a Symfony wrapper for wkhtmltopdf.

How we generate PDFS: < /strong> < /p>

Как многие PDF имеют тот же заголовок и нижний колонтитул, который мы создали BasePdfbundle, который предлагает PDFManager для построения PDF на лету данным шаблоном ветки. По умолчанию входит общий заголовок и нижний колонтитул (обычно с именем клиента и логотипом). Для заказов, однако, большая часть нашего контента добавляется динамически (например, список продуктов). По мере того, как стиль PDF может измениться, и сам контент динамически добавляется, должен был быть быстрый и простой способ добавить текущий и общую страницу к сгенерированному PDF. Вот что мы сделали: < /p>

Код: Выделить всё











FooBar Company Name[/b]

/




(function() {
// get all url parameters and transform it to a list
// pdf generator adds a param for current and the total page sum
// add the value to the html elements
var urlParams = document.location.search.substring(1).split('&');
var urlParamsList = {};
var pagingElements = ['topage', 'page'];

for (var i in urlParams) {
var param = urlParams[i].split('=', 2);
urlParamsList[param[0]] = unescape(param[1]);
}

for (var i in pagingElements) {
var elem = document.getElementsByClassName(pagingElements[i]);
for (var j = 0; j < elem.length; ++j) {
elem[j].textContent = urlParamsList[pagingElements[i]];
}
}
})();


< /code>

< /p>

Да, имена переменных страниц < /code> и топажа < /code> могут быть лучше, однако они совпадают с использованием обертки knpsnappy, когда слияние шаблонов ветки с окончательным шаблоном PDF. Это самый простой способ получить текущий и общий номер страницы, потому что вы можете позволить обертке сделать все вычисления. < /p>

 Различия между вашей локальной машиной и сервером: < /strong> < /p>

Поскольку wkhtmltopdf открывает виртуальный браузер, чтобы «отображать» шаблоны Twig, которые могут привести к ошибкам в поколении PHDF на вашем сервере. Мы обнаружили, что не очень хорошая идея использовать теги событий, такие как  
Вы предпочитаете запустить код JavaScript, как мы сделали это в примере выше.

Подробнее здесь: https://stackoverflow.com/questions/309 ... khtmltopdf
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Html»