Compatibilidade para impressão de PDF depende da versão de Windows:
- para Windows 8 e versões anteriores, é necessário usar o driver PDFCreator.
- a partir de Windows 10, um driver nativo de Microsoft é integrado.
Nota: Em Mac OS, impressão PDF é compatível nativamente com o sistema.
A compatibilidade das impressões PDF em Windows se apóia no driver PDFCreator para oferecer funções de impressão PDF simples e funcionais. Os comandos GET PRINT OPTION e SET PRINT OPTION ambos usam este driver.
PDFCreator é um driver gratuito (OpenSource) regido pela licença AFPL (Aladdin Free Public License).Para utilizar o driver PDFCreator, deve descarregar e instalar a versão apropriada em seu ambiente. (não é instalada por padrão com 4D). Deve ter direitos de acesso de Administrador para poder instalar esse driver. Pode baixar o PDFCreator aqui: http://sourceforge.net/projects/pdfcreator/files/PDFCreator/
Leve em consideração que com 4D v12 deve instalar ao menos a versão 0.9.9 de PDFCreator (versão 1.2 ou posterior é o recomendável). Pode descarregar PDFCreator aqui: http://sourceforge.net/projects/pdfcreator/files/PDFCreator/
Aviso: deve usar uma versão de PDFCreator que seja compatível com 4D. Para encontrar as versões compatíveis e certificadas de PDFCreator, consulte as matrizes de certificação dos produtos 4D, na Página Recursos (Seção Compatibilidade) do site 4D.
Durante a instalação, uma nova impressora virtual chamada por padrão "PDFCreator" se instala em seu sistema. Pode mudar este nome se o preferir.
Windows 10 inclui um driver nativo PDF que permite a 4D criar PDFs diretamente sem necessidade de usar um driver de terceiros como o PDFCreator.
O nome do driver é "Microsoft Print to PDF".
Abaixo um exemplo de como criar um documento PDF em Windows 10 usando comandos 4D print:
$pdfpath:=System folder(Desktop)+"test.pdf"
$pdfprintername:="Microsoft Print to PDF"
ARRAY TEXT($name1;0)
PRINTERS LIST($name1)
If(Find in array($name1;$pdfprintername)>0)
SET CURRENT PRINTER($pdfprintername)
SET PRINT OPTION(Destination option;2;$pdfpath)
ALL RECORDS([Table_1])
PRINT SELECTION([Table_1];*)
SET CURRENT PRINTER("")
End if