Imprimindo no PDFCreator do Crystal Reports incorporado em um programa do Visual Basic

0

Eu tenho um aplicativo legado, escrito em VB6, usando o Crystal Reports 8 (não 8.5 - apenas 8).

O que preciso fazer é descobrir como, programaticamente, gerar ou exportar uma versão em PDF de um relatório.

Aparentemente, o CR 8 não exporta para PDF - que aparentemente é um recurso que vem com o 8.5. Ou pelo menos parece quebrado na versão que tenho.

Então, estou tentando usar o PDFCreator e tentar controlá-lo por meio do objeto COM que está visível e acessível dentro do VB6.

Aqui está o problema ... Eu quero fazer esta geração de pdf no programa sem envolvimento do usuário. Então eu quero poder dizer ao PDFCreator onde criar o arquivo, como chamá-lo, etc. e quero poder dizer ao Crystal Reports para imprimir o relatório para PDFCreator.

Infelizmente, não consigo descobrir a invocação correta que NÃO faz com que o usuário veja uma janela pop-up perguntando onde salvar o PDF e como chamá-lo.

Eu sei que o objeto COM para o PDFCreator parece cheio de recursos, mas a documentação e exemplos reais - pelo menos para realizar o que eu quero fazer - parece escassa.

Alguém mais tem alguma ideia para mim?

    
por Zeke Hansell 21.02.2012 / 20:15

1 resposta

0

Eu nunca usei o pdfcreator, mas depois de uma rápida olhada, encontrei uma referência a uma opção chamada "UseAutoSave", cujo padrão é 0. Presumivelmente, em combinação com algumas outras opções, você pode especificar o diretório e o nome do arquivo autosave. Espero que este seja o "pdfcreator" correto que você está perguntando.

Esta página ( link ) fala sobre como redefinir as opções padrão e possui um código que enumera várias opções:

.cOption("UseAutosave") = 0
        .cOption("UseAutosaveDirectory") = 1
        .cOption("AutosaveDirectory") = "\"
        .cOption("AutosaveFilename") = ""
        .cOption("AutosaveFormat") = 0
        .cOption("UseCreationdate") = vbNullString
        .cOption("UseStandardAuthor") = 0
        .cOption("PDFUseSecurity") = 0
        .cOption("PDFUserPass") = 0
        .cOption("PDFUserPassString") = vbNullString
        .cOption("PDFOwnerPass") = 1
        .cOption("PDFOwnerPassString") = vbNullString
        .cOption("PDFEncryptor") = 0
        .cOption("PDFDisallowCopy") = 1
        .cOption("PDFDisallowPrinting") = 0
        .cOption("PDFDisallowModifyContents") = 0
        .cOption("PDFDisallowModifyAnnotations") = 0
        .cOption("PrinterTempPath") = "PDFCreator\"
    
por 21.02.2012 / 22:12