Dans cet exemple, vous apprendrez à convertir un document PDF existant en TIFF. Le principe illustré dans cet exemple peut être utilisé pour créer d'autres types de fichiers supplémentaires. Il peut facilement être modifié pour convertir des fichiers PDF en fichiers JPEG, PNG ou BMP, par exemple.

L'idée est que nous utilisons la méthode PrintPdf dans la classe utilitaire. Cette méthode est disponible dans les assemblys COM et Microsoft .NET. De nombreux paramètres peuvent être utilisés, comme vous pouvez le voir dans le code source ci-dessous.

Avant d'appeler la méthode PrintPdf, le code crée un runonce.ini pour contrôler l'imprimante PDF. Les paramètres du fichier runonce.ini contrôlent le format de sortie, le nom du fichier et le fichier d'état et masquent les boîtes de dialogue. Il définit également un exemple de filigrane qui rend la date et l'heure actuelles de la conversion au format TIFF.

Avant la création du travail d'impression, l'ancien fichier d'état et le fichier de sortie sont supprimés. Après le travail d'impression, le code attend un nouveau fichier d'état pour déterminer si l'opération a réussi ou échoué.

    Option Explicit
    Dim pdfFileName, printerSelection, printToPrinterName
    Dim pdfPrinterName, showProgress, bitsPerPixel
    Dim documentName, maxResolution, scaleToFit
    Dim firstPage, lastPage, timeoutMilliseconds
    Dim currentdir, util, fso, settings
    Dim printername, statusfile, outFileName
    Dim resolution, device
    resolution = 300
    device = "tiff24nc"
    Rem -- Get current path of this script.
    Set fso = CreateObject("Scripting.FileSystemObject")
    currentdir = fso.GetAbsolutePathName(".")
    Rem -- Create the COM helper object.
    Set util = CreateObject("pdf7.PdfUtil")
    Rem -- Create the COM settings object to control the printer.
    set settings = CreateObject("pdf7.PdfSettings")
    printername = util.DefaultPrinterName
    pdfFileName = currentdir & "\test page.pdf"
    outFileName = currentdir & "\test page.tiff"
    Rem -- Set parameters for the conversion
    Rem -- Settings are documented at https://www.7-pdf.com/products/pdf-printer/documentation/settings
    statusfile = currentdir & "\status.ini"
    settings.PrinterName = printername
    settings.SetValue "Output", outFileName
    settings.SetValue "Device", device
    settings.SetValue "ResX", resolution
    settings.SetValue "ResY", resolution
    settings.SetValue "TextAlphaBits ", "4"
    settings.SetValue "GraphicsAlphaBits ", "4"
    settings.SetValue "WatermarkText", Now
    settings.SetValue "WatermarkColor", "#FF9900"
    settings.SetValue "ShowSettings", "never"
    settings.SetValue "ShowPDF", "no"
    settings.SetValue "ShowProgress", "no"
    settings.SetValue "ShowProgressFinished", "no"
    settings.SetValue "ConfirmOverwrite", "no"
    settings.SetValue "StatusFile", statusfile
    settings.SetValue "StatusFileEncoding", "unicode"
    Rem -- Write settings to the runonce.ini to control the next print job.
    settings.WriteSettings True
    Rem -- Remove old output and status files
    if fso.FileExists(outFileName) then fso.DeleteFile(outFileName)
    if fso.FileExists(statusfile) then fso.DeleteFile(statusfile)
    Rem -- Send the PDF to the printer
    printerSelection = "specific"
    pdfPrinterName = printername
    printToPrinterName = printername
    showProgress = False
    bitsPerPixel = 24
    documentName = "Example"
    maxResolution = resolution
    scaleToFit = True
    firstPage = 0
    lastPage = 0
    timeoutMilliseconds = 30000
    util.PrintPdf pdfFileName, printerSelection, printToPrinterName, _
    pdfPrinterName, showProgress, bitsPerPixel, documentName, _
    maxResolution, scaleToFit, firstPage, lastPage, timeoutMilliseconds
    Rem -- Wait for the status file. 
    Rem -- The printing has finished when the status file is written.
    if util.WaitForFile(statusfile, 30000) then
    wscript.echo "Print job finished."
    else
    wscript.echo "Print job timed out."
    end if
    

Vous pouvez télécharger et exécuter l'exemple vous-même. Vous pouvez trouver le fichier dont vous avez besoin ici.

Téléchargements

appendice taille
Télécharger l'exemple de code 174.5 KB

LiveZilla Live Chat Software
Top