Как тему PDF, созданная модулем Print?

Я хотел бы затронуть PDF-файл, созданный модулем Print. Я хотел бы добавить заголовок, нижний колонтитул, поля, границу сгенерированного PDF.

Модуль сертификата в Drupal предоставляет тематику сертификату, но мой сайт почти как прочитанный и получивший сертифицированный сайт, поэтому я не хочу менять модуль печати. ​​

Я попробовал изменить форму и другие вещи, но не уверен, откуда можно изменить PDF.

6 голосов | спросил Gladiator 12 22013vEurope/Moscow11bEurope/MoscowTue, 12 Nov 2013 08:54:48 +0400 2013, 08:54:48

4 ответа


3

Drupal 7 предоставляет возможность изменять содержимое с помощью этого API. Это должно быть довольно просто, просто поместите этот крючок в свой шаблон template.php и добавьте новую функцию, из которой должен быть сделан PDF-файл. Используйте приведенный ниже код в качестве ссылки.

function theme_print_pdf_tcpdf_content(&$vars) {  
  return new_function_that_prints_the_content($vars); 
}
ответил Slasengger 12 ThuEurope/Moscow2013-12-12T10:19:55+04:00Europe/Moscow12bEurope/MoscowThu, 12 Dec 2013 10:19:55 +0400 2013, 10:19:55
3

Модуль печати поставляется с шаблоном print-pdf.tpl.php, а также с шаблоном print.tpl.php (или используйте тот, что указан в вашей теме). Так как это все о стилизации, скорее посмотрите на их редактирование и поместите в свою папку тем.

ответил Quentin Campbell 12 22013vEurope/Moscow11bEurope/MoscowTue, 12 Nov 2013 12:49:21 +0400 2013, 12:49:21
2

Вы должны при создании узла вызвать функцию, которая будет генерировать PDF. Используйте класс tcpdf для его генерации pdf и загрузите функции tcpdf ./ Также проверьте ссылку

 class my_pdf extends TCPDF { //Page header public function Header() { } // Page footer public function Footer() { } } 

$pdf = new my_pdf(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, UTF-8', false);

$pdf->setPrintHeader(true);
 $pdf->setPrintFooter(true); 
$pdf->SetMargins(25.0, 40, 25.0);
$pdf->SetFooterMargin(1.5);
$pdf->SetAutoPageBreak(TRUE, 50);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->AddPage();
$pdf->writeHTML($html, true, false, true, false, ''); 
$pdf->lastPage();
$pdf->Output('my_document.pdf', 'D');
ответил harshal 12 22013vEurope/Moscow11bEurope/MoscowTue, 12 Nov 2013 09:26:46 +0400 2013, 09:26:46
1

На самом деле можно использовать hook для TCPDF:

/**
 * Implements hook__print_pdf_tcpdf_alter()
 */
function MODULENAME_print_pdf_tcpdf_alter($pdf, $html, $meta) {
  $pdf->setPrintHeader(FALSE);
  $pdf->SetPrintFooter(FALSE);
}
ответил Colin Shipton 21 PMpMon, 21 Apr 2014 14:26:17 +040026Monday 2014, 14:26:17

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132