PDFium Rendering

A versão 3.9.7 acrescenta renderização PDFium opcional no Windows. O renderizador predefinido continua a ser GDI+. As aplicações podem chamar SetPDFiumFileName com o caminho completo para pdfium.dll e depois SelectRenderer(3). SelectedRenderer devolve o backend ativo e SelectRenderer(1) regressa a GDI+.

Caminhos de renderização suportados

- RenderPageToStream, RenderPageToFile e RenderPagesToFiles suportam as mesmas opções raster de GDI+ e Cairo: 0 (BMP), 1 (JPEG), 5 (PNG), 6 (GIF), 7 (TIFF) e 10 (TIFF G4). SetJPEGQuality aplica-se à opção 1 e as opções TIFF respeitam as definições GDI+ ativas.

- As opções de metaficheiro, 2 WMF, 3 EMF, 4 EPS, 8 EMF+, 9 HTML5 e 11 EMF+ dual, não têm equivalente PDFium. As chamadas devolvem 0 e LastRenderError explica os formatos suportados pelo backend PDFium.

- RenderPageToDC renderiza a página selecionada para um contexto de dispositivo Windows através de PDFium.

- RenderPageToMemory renderiza para buffers de memória de 24 ou 32 bits fornecidos pelo chamador.

- PrintDocument e PrintPages utilizam PDFium quando o renderizador 3 está selecionado.

- A saída de várias páginas de RenderDocumentToFile e a renderização Direct Access continuam a utilizar os caminhos de renderização existentes.

Notas de implementação

A DLL PDFium tem de corresponder à arquitetura do processo. A distribuição guarda os ficheiros de runtime em DLL\PDFium\Win32 e DLL\PDFium\Win64. Mantenha pdfium.dll junto das DLLs de runtime auxiliares ao implementar uma aplicação.

A versão 3.23.0 atualiza as DLLs de runtime PDFium opcionais incluídas em DLL\PDFium\Win32 e DLL\PDFium\Win64; a API pública de seleção do renderizador e a predefinição GDI+ não mudam.

Sintaxe Delphi

function TPDFlib.SetPDFiumFileName(const FileName: WideString): Integer;
function TPDFlib.SelectRenderer(RendererID: Integer): Integer;
function TPDFlib.SelectedRenderer: Integer;