Integrar o pdfFactory ao seu aplicativo é muito fácil. Como o pdfFactory é um driver de impressora, você pode imprimir com o driver pdfFactory da mesma forma como faria com qualquer outra impressora. As chaves de registro abaixo permitem acesso de programação ao modo de exibição, nome de arquivo e caminho.
Definição do modo de exibição
HKEY_CURRENT_USER\Software\FinePrint Software\pdfFactory\FinePrinters\FinePrint pdfFactory\PrinterDriverData\ShowDlg
1 = mostra IU após spooling
2 = não mostra IU, mas exibe arquivo PDF
3 = não mostra IU, mas coloca arquivo PDF em um e-mail
4 = não mostra IU, não coloca em e-mail, não exibe arquivo PDF
Isto não afeta nenhum HDC aberto na impressora pdfFactory.
Nota: os valores acima são do tipo DWORD, não string. O modo de exibição também pode ser definido interativamente usando as propriedades do pdfFactory na pasta Impressoras.
Aplicação forçada do modo de exibição
Se, por alguma razão, a definição de ShowDlg ainda não estiver funcionando, você pode usar o modo de "aplicação forçada". Para fazer isso, é só definir o seguinte no registro: HKCU\Software\FinePrint\Software\pdfFactory\FinePrinters\FinePrint pdfFactory\ShowDlg = 2 (ou 3, ou 4, ou o valor que você precisar)
Nota: A configuração de uma aplicação forçada é a mesma coisa que você estava fazendo antes, porém sem a subchave "PrinterDriverData". No modo de aplicação forçada, a configuração que você faz afeta TODOS os aplicativos e não pode ser alterada na IU até que você a altere no registro, portanto não a utilize a menos que seja absolutamente necessário.
HKEY_CURRENT_USER\Software\FinePrint Software\pdfFactory\OutputFile
HKEY_CURRENT_USER\Software\FinePrint Software\pdfFactory\OutputFilePerm
Use as chaves acima para definir o arquivo de saída para o PDF. Você precisa utilizar um caminho completo. Isto só funciona para os modos de exibição 2, 3 e 4 (mostrados acima).
OutputFile é usado uma vez e, então, apagado. Quando a chave OutputFile é apagada, isso sinaliza que o PDF foi criado e pode ser manipulado pelo aplicativo que solicitou sua criação. OutputFilePerm é usado todas as vezes. Arquivos existentes são sobregravados sem aviso prévio.
Definição do caminho padrão
HKEY_CURRENT_USER\Software\FinePrint Software\pdfFactory\JobsDir
HKEY_CURRENT_USER\Software\FinePrint Software\pdfFactory\AutoSaveDir
Combinação de tarefas num único PDF
Por padrão, quando a caixa de diálogo do pdfFactory é suprimida usando uma das opções "não" na definição "Show dialog", só uma tarefa por vez pode ser impressa na impressora pdfFactory. Cada tarefa é convertida num arquivo PDF, assim a combinação de tarefas não é possível da forma como é feita quando você exibe a caixa de diálogo do pdfFactory.
Usando a definição de registro CollectJobs, o pdfFactory coletará múltiplas tarefas de impressão antes de convertê-las em PDF.
Para o pdfFactory, a chave de registro DWORD é:
HKEY_CURRENT_USER\Software\FinePrint Software\pdfFactory\FinePrinters\FinePrint pdfFactory\CollectJobs
Para o pdfFactory Pro, a chave de registro DWORD é:
HKEY_CURRENT_USER\Software\FinePrint Software\pdfFactory\FinePrinters\FinePrint pdfFactory Pro\CollectJobs
Primeiro, defina o nome do arquivo de saída usando a definição OutputFilePerm acima. Defina o valor CollectJobs para o número de tarefas de impressão que você quer combinar. Cada vez que o pdfFactory recebe uma tarefa de impressão, ele a deduz do contador. O valor do contador deve ser checado para assegurar que tenha sido reduzido em um número antes de enviar a tarefa seguinte. Quando todas as tarefas tiverem sido coletadas e convertidas em PDF, o contador é definido para zero. Não se esqueça de apagar o valor da chave OutputFilePerm se quiser que a operação prossiga normal depois da coleta de tarefas.