Comment créer des fichiers PDF Avec C Source Code

Création de fichiers Adobe PDF (Portable Document Format) avec une application écrite dans le langage de programmation C pourrait impliquer de nombreuses heures de déchiffrer la documentation d'Adobe. Mais, au moins un projet open source (gratuit) a fait ce travail déjà pour produire une banque avec laquelle vos programmes C peuvent relier pour créer des fichiers PDF.

Choses que vous devez

  • Microsoft Visual C ++, Express (ou complète) édition
  • Haru bibliothèque de PDF à partir libharu.org
  • Fichier DLL zlib (une dépendance de la bibliothèque Haru) de zlib.net

Instructions

  1. 1

    Télécharger le PDF Library Haru gratuit de Libharu.org. Sélectionnez le libharu--fichier vc6.zip pour le téléchargement, qui est sous la "Binaires pour windows" rubrique. Télécharger une dépendance de la bibliothèque Haru, l'Zlib, à partir du lien Zlib dans la section des ressources de cet article.

  2. 2

    Créer un nouveau Visual C ++ Windows32 application console.
    Entrer "pdfmkr" pour le nom du projet et "C: Users Desktop pdfmkr" pour son emplacement. Ne cochez pas la "Créer un répertoire" case.

  3. 3

    Installez les fichiers de bibliothèque: décompresser les fichiers de libharu-2.1.0-vc6.zip et zlib123-dll.zip aux emplacements par défaut assignés par votre application de décompression.

    Copiez les fichiers de libhpdf.lib et libhpdf.exp du sous-dossier lib du fichier zip de libharu décompressé, C: Users Desktop pdfmkr pdfmkr.

  4. 4

    Copiez le zdll.lib, zdll.exp et les fichiers de sous-dossier zdll.def lib du décompressé Zlib dans le même dossier de destination référencé à l'étape 3. En outre, copiez le fichier de la zlib1.dll racine dossier (pas de sous-dossier lib) du dossier décompressé Zlib, à l'étape du dossier de destination 3.

  5. 5

    Copiez les fichiers d'en-tête à l'endroit où le compilateur Visual C ++ peut les trouver: copier tous les en-tête (extension de fichier * .h) des fichiers de la libharu "inclure" sous-dossier, dans le même dossier de l'étape 3. Copiez tous les fichiers d'en-tête de la Zlib Zlib "inclure" sous-dossier, à l'étape du dossier de destination 3.

  6. 6

    Créer des références aux fichiers lib vous venez de copier de sorte que le Visual C ++ linker peut effectivement les voir: dans le Visual C ++ IDE, sélectionnez "Property Manager; Viewgt." Dans la fenêtre Gestionnaire de la propriété, droit; cliquez sur "pdfmkr" et sélectionnez "Propriétés." Exposer la "Linkergt; entrée" noeud en cliquant "Propriétés de configuration," puis "Linker." Dans le "Dépendances supplémentaires" rangée, entrez les noms des fichiers de bibliothèque, vous venez de copier: "zdll.lib" et "libhpdf.lib" (Mais pas le fichier DLL).

  7. 7

    Collez le code source suivant dans la fenêtre de code Visual C ++:

    //////////////////////////////////////////////

    inclure "stdafx.h"
    inclure
    inclure
    inclure
    inclure
    inclure "hpdf.h"

    jmp_buf env
    GO

    ifdef HPDF_DLL

    __stdcall vide

    autre

    vide

    endif

    cbHandleErr (HPDF_STATUS ErrNum,

     HPDF_STATUS detail_num,
    void * userinfo)

    {

    printf ("-erreur: ErrNum =% 04X, detail_num =% u n "-, (HPDF_UINT) ErrNum,
    (HPDF_UINT) detail_num)

    GO

    longjmp (env, 1)

    GO
    }




    const char fname [] = "myPDF.PDF"
    GO

    int main (int argc, char ** argv)
    {

    HPDF_Doc objPDF

    GO

    HPDF_Page pdfPage

    GO

    Police HPDF_Font

    GO

    HPDF_REAL pageHeight

    GO

    objPDF = HPDF_New (cbHandleErr, NULL)

    GO

    if (! objPDF) {
    printf ("-Can not créer l'objet de PDFDoc n "-)

    GO

    retourner 1

    GO

    }

    if (setjmp (env)) {
    HPDF_Free (objPDF)

    GO

    retourner 1



    GO

    }

    / * Créer pdfPage * /
    pdfPage = HPDF_AddPage (objPDF)

    GO
    &# 9-pageHeight = HPDF_Page_GetHeight (pdfPage)
    GO

    / * Mettez un peu de texte sur pdfPage * /

    &# 9 font = HPDF_GetFont (objPDF, "Times-Roman", NUL)
    GO

    HPDF_Page_SetFontAndSize (pdfPage, la police, 24)

    GO

    HPDF_Page_BeginText (pdfPage)

    GO
    &# 9-HPDF_Page_TextOut (pdfPage, 20, pageHeight-75, "Mon premier PDF") - // Oui

    HPDF_Page_EndText (pdfPage)

    GO

    HPDF_SaveToFile (objPDF, fname)

    GO

    HPDF_Free (objPDF)

    GO

    retourner 0

    GO
    }

    //////////////////////////////////////////////

  8. 8

    Appuyez sur F5 pour compiler et exécuter le programme. Recherchez le fichier de sortie, myPDF.PDF, dans le dossier référencé à l'étape 3.

Conseils & Avertissements

  • Pour l'étape 3, installer tous les fichiers .h lib et * de la Zlib et fichiers libhpdf zip dans le dossier contenant le fichier d'en-tête stdafx.h de votre projet. Voilà où Visual C ++ cherche inclure et les fichiers de bibliothèque lors de la construction d'une application en mode debug / développement. Si vous ne voyez pas stdafx.h dans le dossier mentionné à l'étape 3, utilisez Windows Explorer pour le rechercher.
» » » » Comment créer des fichiers PDF Avec C Source Code