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; границы форматов и ресурсов см. в руководстве по рендереру