Я расширяю библиотеку TCPDF для добавления функции заголовка, которая включает в себя изображение водяного знака .
class PdfWrapperDraft extends PdfWrapper {
// TODO: Rename to PdfWrapperWatermark and allow any watermark, not just the DRAFT image.
public function Header()
{
// get the current page break margin
$bMargin = $this->getBreakMargin();
// get current auto-page-break mode
$auto_page_break = $this->AutoPageBreak;
// disable auto-page-break
$this->SetAutoPageBreak(false, 0);
// set background image: in actual practice, all but one of the lines below would be commented out.
$img_file = K_PATH_IMAGES . 'image_demo.jpg'; // This inbuilt sample image works fine.
$img_file = BD . PP . '/images/image_demo.png'; // The sample image also works when copied to another directory.
$img_file = BD . PP . '/images/image_demo.png'; // The sample image still works when converted to PNG.
$img_file = BD . PP . '/images/DRAFT.jpg'; // This watermark image also works fine.
$img_file = BD . PP . '/images/DRAFT.png'; // This is the one I actually want, and it appears only on the first four pages. Why?!
$this->Image($img_file, 0, 0, 210, 297, '', '', '', false, 0, '', false, false, 0);
// restore auto-page-break status
$this->SetAutoPageBreak($auto_page_break, $bMargin);
// set the starting point for the page content
$this->setPageMark();
}
}
Как видно из комментариев в коде, образец изображения TCPDF JPEG работает штрафа в виде водяного знака, появляется на всех 52 страницах документа PDF. Он продолжает работать при загрузке из другой папки и при преобразовании в PNG.
Мое собственное прилагаемое изображение также работает на всех 52 страницах PDF в формате JPEG, но слишком тяжелое, чтобы функционировать в качестве водяного знака: текст над ним трудно читать. Однако, когда я пытаюсь использовать PNG, который на самом деле хочу использовать, он прекрасно работает на первых четырех страницах, а затем исчезает. Что происходит на Земле?
Экспериментируя с разными размерами изображения и разными размерами страниц (A4, A5), иногда изображение будет длиться несколько страниц более или менее, но оно всегда исчезает после первых нескольких страниц.
image_demo.png:
Width: 1181 pixels
Height: 1772 pixels
Bytes: 3.8 MB
DRAFT.png:
Width: 1181 pixels
Height: 1772 pixels
Bytes: 105.1 kB