StartRenderPageJob
Инспекция документов, рендеринг
Описание
Запускает фоновое задание, растеризующее страницу PDF-файла без блокировки потока вызывающего кода
Поскольку TPDFlib не потокобезопасен, задание создает изолированный экземпляр из того же исходного файла и выполняется в системной задаче, поэтому большая страница больше не может монополизировать поток хоста до своего завершения
Задание вводит в рендерер флаг отмены и шлюз паузы с ручным сбросом, которые он опрашивает между операторами потока содержимого; именно это позволяет PauseRenderJob, ResumeRenderJob и CancelRenderJob прерывать одну страницу в процессе
Синтаксис
Delphi
Function TPDFlib.StartRenderPageJob(Const FileName, Password, OutputFileName: WideString; DPI: Double; Page, Options: Integer): Integer;DLL
int DLStartRenderPageJob(int InstanceID, const wchar_t* FileName, const wchar_t* Password, const wchar_t* OutputFileName, double DPI, int Page, int Options);ActiveX
Function PDFlib::StartRenderPageJob(FileName As String, Password As String, OutputFileName As String, DPI As Double, Page As Long, Options As Long) As LongПараметры
| FileName | Путь к исходному файлу PDF |
|---|---|
| Password | Пароль документа либо пустая строка, если PDF не зашифрован |
| OutputFileName | Путь целевого изображения; формат следует за Options, как в RenderPageToFile |
| DPI | Разрешение рендеринга |
| Page | Номер растеризуемой страницы, начиная с 1 |
| Options | Опция формата изображения, передаваемая напрямую в RenderPageToFile |
Возвращаемые значения
| >0 | Дескриптор задания, начиная с 1, для методов управления заданиями растеризации |
|---|---|
| 0 | Задание не удалось запустить |
Примечания
Опрашивайте прогресс GetRenderJobState и ждите завершения через WaitForRenderJob; оба возвращают коды RENDER_JOB_STATE_*. Используйте
PauseRenderJob, ResumeRenderJob и CancelRenderJob прерывают текущую страницу, не теряя рабочий поток
Задание принадлежит запустившему его экземпляру; освобождение экземпляра дожидается незавершённых заданий, поэтому полуотрисованная страница не переживёт своего владельца