HPDFRenderHeadlessPagePNGFile
function HPDFRenderHeadlessPagePNGFile(const Access: THPDFHeadlessRenderAccess;
const FileName: string; const Options: THPDFHeadlessRenderOptions):
THPDFHeadlessRenderResult;
Объявлена в HPDFHeadlessCairoDevice; рендерит одну заимствованную страницу и атомарно публикует её PNG в FileName
Родительский каталог должен уже существовать; успешный вызов заменяет существующее назначение и возвращает счётчики рендера
Access.RequireOutputPath обязателен и проверяет исходный путь и физическую идентичность файла перед staging и перед публикацией; этот колбэк предоставляет GetRenderAccess документа
Совпадения по исходному пути и жёсткой ссылке на источник отвергаются; заимствованный документ остаётся загруженным и неизменным на всём протяжении вызова
Хелпер монопольно создаёт свой staging-файл рядом с назначением, пишет готовый PNG, сбрасывает файл на диск, снова проверяет отмену и выполняет атомарный rename или замену
Сбои бюджета, рендеринга, отмены и staging сохраняют существующее назначение и удаляют свой неопубликованный staging-файл
В Windows выполняется не более восьми атомарных замен, с повтором только для ошибок 5, 32 и 33 и паузами 1, 2, 4, 8, 16, 16 и 16 миллисекунд; все прочие ошибки завершаются сразу
Отмена проверяется перед каждой попыткой замены и до и после каждой паузы; удаление назначения или неатомарная копия в качестве запасного пути не применяются
Неудавшаяся замена в Windows вызывает EHPDFHeadlessRenderError с захваченным финальным кодом ошибки Windows; при отмене сохраняется диагностика отмены рендерера
Для потоков используйте HPDFRenderHeadlessPagePNG; границы форматов и ресурсов см. в руководстве по рендереру