Adobe PDF ( Portable Document Format ) bestanden met een applicatie geschreven in de programmeertaal C kan mogelijk betrekken vele uren van de documentatie van Adobe ontcijferen . Maar , ten minste een open source ( gratis ) project heeft gedaan dat werk al aan een bibliotheek waarmee je C -programma's kunt koppelen aan PDF-bestanden te produceren . Wat je nodig hebt Microsoft Visual C + + , Express ( of volledige ) editie Haru PDF bibliotheek van libharu.org Zlib DLL -bestand ( een afhankelijkheid van de Haru bibliotheek ) van zlib.net < br > Toon Meer Aanwijzingen 1 Download de Haru Gratis PDF Library van Libharu.org . Selecteer de libharu - - vc6.zip bestand om te downloaden , dat is onder de " Windows Binaries " rubriek . Download een afhankelijkheid van de Haru bibliotheek , de Zlib , uit de Zlib schakel in paragraaf van dit artikel Resources . Kopen van 2 Maak een nieuw Visual C + + Windows32 Console Application.Enter " pdfmkr " voor de naam van het project en het " C : \\ Users \\ \\ Desktop \\ pdfmkr " voor de locatie. Niet controleren het selectievakje " Maak de map " 3 Installeer de bibliotheek bestanden: . Unzip het libharu - 2.1.0 - vc6.zip en zlib123 - dll.zip bestanden naar de standaard locaties toegewezen door uw openritsen toepassing Copy of the libhpdf.lib en libhpdf.exp bestanden van de lib submap van de uitgepakte libharu zip-bestand , naar C : . \\ Users \\ \\ Desktop \\ pdfmkr \\ pdfmkr . 4 Kopieer de zdll.lib , zdll.exp en zdll.def bestanden van lib submap de uitgepakte Zlib 's naar dezelfde doelmap waarnaar verwezen wordt in stap 3 . Ook kopieert het zlib1.dll bestand uit de map _root_ ( niet de lib submap ) van de Zlib uitgepakte map , om doelmap 3's stap . Copy 5 de header-bestanden naar de plaats waar de Visual C + + compiler vindt ze : kopieer alle header ( bestandsextensie * h . ) bestanden uit de libharu " include " submap , naar dezelfde map van stap 3 . Kopieer alle Zlib header bestanden van de Zlib " omvatten " submap , naar doelmap 3's Stap 6 Maak verwijzingen naar de lib bestanden die je zojuist hebt gekopieerd , zodat de Visual C + + linker kan hen eigenlijk zien : . In het Visual C + + IDE , selecteer " View > Property Manager . " In het venster Property Manager met de rechtermuisknop op ' pdfmkr " en selecteer" Eigenschappen . " Expose de " Linker > Input " knoop door te klikken op " Configuration Properties , " dan " Linker . " In het " Extra Afhankelijkheden " rij , voert u de namen van de bibliotheek bestanden die je zojuist hebt gekopieerd : . " Zdll.lib " en " libhpdf.lib " ( maar niet het DLL-bestand ) op Twitter 7 Plak volgende broncode in de Visual C + + code-venster : //////////////////////////////////////////////# include " stdafx.h " # include # Include # include # include , # include " hpdf.h " jmp_buf env ; # ifdef HPDF_DLLvoid __ stdcall # elsevoid # endifcbHandleErr ( HPDF_STATUS errNum , HPDF_STATUS detail_num , leegte * userinfo ) { printf ( " ERROR : errNum = % 04X , detail_num = % u \\ n " , ( HPDF_UINT ) errNum , ( HPDF_UINT ) detail_num ) ; longjmp ( env , 1 ) ; } const char fname [ ] = " myPDF.PDF " ; < br > int main ( int argc , char ** argv ) { HPDF_Doc objPDF ; HPDF_Page pdfPage ; HPDF_Font doopvont; HPDF_REAL pageHeight ; objPDF = HPDF_New ( cbHandleErr , NULL ) ; ( ! objPDF ) indien { printf ( " Kan geen PDFDoc object \\ n "); return 1 ; } if ( setjmp ( env ) ) { HPDF_Free ( objPDF ) ; return 1 ; } /* Maak pdfPage * /pdfPage = HPDF_AddPage ( objPDF ) ; pageHeight = HPDF_Page_GetHeight ( pdfPage ) ; /* Zet wat tekst op pdfPage * /font = HPDF_GetFont ( objPDF , " Times - Roman ' , NULL ) ; HPDF_Page_SetFontAndSize ( pdfPage , font , 24 ) ; HPDF_Page_BeginText ( pdfPage ) ; HPDF_Page_TextOut ( pdfPage , 20 , pageHeight - 75 , " Mijn eerste PDF " ) ; //yesHPDF_Page_EndText ( pdfPage ) ; HPDF_SaveToFile ( objPDF , fname ) ; HPDF_Free ( objPDF ) ; return 0 ; } ////////////////////////////////////////////// 8 Druk op F5 om te compileren en uitvoeren van het programma . Kijk voor de output file , myPDF.PDF , in de map waarnaar wordt verwezen in stap 3 .
|