Вот наш ответ: < /p>
В настоящее время мы используем wkhtmltopdf для генерации PDF из данного шаблона HTML. < /p>
Некоторая справочная информация: < /strong> < /p>
Мы используем Sulu CMF для построения спины End, который основан на Symfony2.
knpsnappy bundle используется в качестве обертки Symfony для wkhtmltopdf. > < /p>
Как многие PDF имеют тот же заголовок и нижний колонтитул, мы создали BasePdfbundle, который предлагает PDFManager для строительства PDF на лету данным шаблоном веточки. По умолчанию общий заголовок и нижний колонтитул (обычно с именем клиента и логотипом). : < /strong> < /p>
Очень полезно добавить номера страниц в PDFS, например. Для заказов, однако, большая часть нашего контента добавляется динамически (например, список продуктов). По мере того, как стиль 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>
В конце концов вам просто нужно заменить текст HTML -теги и вот и все! < /p>
Различия между вашей локальной машиной и сервером: < /strong> < /p>
, как Wkhtmltopdf открывает виртуальный Браузер, чтобы «отображать» шаблоны веток, это может привести к ошибкам в вашем поколении PDF на вашем сервере. Мы обнаружили, что не очень хорошая идея использовать теги событий, такие как
Вы предпочитаете запустить код JavaScript, как мы сделали это в примере выше.
Вот наш ответ: < /p> [b] В настоящее время мы используем wkhtmltopdf для генерации PDF из данного шаблона HTML. < /p>
Некоторая справочная информация: < /strong> < /p>
Мы используем Sulu CMF для построения спины End, который основан на Symfony2. knpsnappy bundle используется в качестве обертки Symfony для wkhtmltopdf. > < /p>
Как многие PDF имеют тот же заголовок и нижний колонтитул, мы создали BasePdfbundle, который предлагает PDFManager для строительства PDF на лету данным шаблоном веточки. По умолчанию общий заголовок и нижний колонтитул (обычно с именем клиента и логотипом). : < /strong> < /p>
Очень полезно добавить номера страниц в PDFS, например. Для заказов, однако, большая часть нашего контента добавляется динамически (например, список продуктов). По мере того, как стиль PDF может измениться, и сам контент динамически добавляется, должен был быть быстрый и простой способ добавить текущий и общую страницу к сгенерированному PDF. Вот что мы сделали: < /p>
[code]
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>
В конце концов вам просто нужно заменить текст HTML -теги и вот и все! < /p>
Различия между вашей локальной машиной и сервером: < /strong> < /p>
, как Wkhtmltopdf открывает виртуальный Браузер, чтобы «отображать» шаблоны веток, это может привести к ошибкам в вашем поколении PDF на вашем сервере. Мы обнаружили, что не очень хорошая идея использовать теги событий, такие как [/code] Вы предпочитаете запустить код JavaScript, как мы сделали это в примере выше.
Я разрабатываю систему электронного выставления счетов, и одна из наших функций — создание PDF-файлов счетов и их отправка по почте. У нас есть несколько шаблонов для счетов, и мы создадим больше позже, поэтому мы решили использовать шаблоны HTML,...
У меня есть отчет в формате html, и данные заполняются с использованием скорости Apache . Здесь я добавил нижний колонтитул. В разделе нижнего колонтитула будет показан номер страницы разбивки на страницы, но отображается Страница 0 из 0 > Я не...
Проблема с CSS при преобразовании pdftohtml, а затем html в pdf с помощью wkhtmltopdf.
Я пытаюсь преобразовать pdf в html, затем перевести html и, наконец, преобразовать его обратно в PDF с помощью wkhtmltopdf для моего сайта Проблема возникла...