|
THotPDF.BeginDoc
|
Вверх Назад Далее |
|
Creates new document.
Delphi syntax: procedure BeginDoc ( Initial: boolean = false );
C++ syntax: void __fastcall BeginDoc ( bool Initial = false );
Описание BeginDoc начинает новый PDF-документ и создаёт первую страницу. В обычном использовании вызовите BeginDoc со значением параметра по умолчанию, затем рисуйте на CurrentPage Один экземпляр THotPDF может записывать сколько угодно документов, один за другим. EndDoc записывает файл, а затем сбрасывает всё, что было для него зарегистрировано: изображения, шрифты, поля форм, outlines, document JavaScript, именованные назначения, метки страниц, ICC-профили, output intents и остальные ресурсы. Страницы и объекты записанного документа остаются в памяти, поэтому проверки вроде ValidatePDFUA2Structure продолжают работать после EndDoc, пока следующий BeginDoc их не освободит. Следующий документ поэтому стартует чистым, и ни один контент предыдущего файла в него не попадает Свойства вроде FileName, Version, Compression, PDFACompliance, Author и Title сохраняют значения для следующего документа, как и слои страниц, цепочки font fallback и выбранные оси variable-шрифтов. Всё, что зарегистрировано после EndDoc и до следующего BeginDoc, — например output intent, добавленный через AddPDFAOutputIntent, или скрипт, добавленный через Names, — относится к следующему документу. CurrentPageNumber, PagesCount и диагностика раскладки записанного документа тоже остаются читаемыми до следующего BeginDoc EndDoc очищает UserPassword и OwnerPassword. Когда ActivateProtection всё ещё включён, задайте пароли заново до следующего BeginDoc; иначе BeginDoc бросит исключение вместо записи документа, защищённого пустыми паролями. Когда какая-то возможность документа автоматически подняла PDF-версию (например до PDF 1.4 ради output intent), EndDoc возвращает её к значению свойства Version
Code Example
См. также: EndDoc
|