Skapa Adobe PDF ( Portable Document Format ) filer med ett program skrivet i programmeringsspråket C skulle kunna innebära många timmars dechiffrera Adobes dokumentation . Men , åtminstone en öppen källkod ( gratis ) Projektet har gjort att arbetet redan för att producera ett bibliotek med vilka dina C-program kan länka för att skapa PDF-filer . Saker du behöver
Microsoft Visual C + + , Express ( eller full ) Edition Review Haru PDF -bibliotek från libharu.org
Zlib DLL -fil ( ett beroende av Haru biblioteket ) från zlib.net
Visa mer instruktioner
1
Nedladda Haru Gratis PDF Library från Libharu.org . Välj libharu - - vc6.zip fil för nedladdning , vilket är under " Windows Binaries " rubrik . Ladda ner ett beroende av Haru biblioteket , zlib , från Zlib länken i den här artikeln avsnittet Resurser .
2 Skapa ett nytt Visual C + + Windows32 Console Application.Enter " pdfmkr " för projektets namn och " C: \\ Users \\ \\ Desktop \\ pdfmkr " för sin plats . Kontrollera inte " Skapa katalog" kryssrutan
3 installera biblioteket filer : . Packa upp libharu - 2.1.0 - vc6.zip och zlib123 - dll.zip filer till standardplatserna tilldelats av din unzipping program
Kopiera libhpdf.lib och libhpdf.exp filer från lib undermapp i uppackade libharu zip-filen till C : . \\ Users \\ \\ Desktop \\ pdfmkr \\ pdfmkr .
4 Kopiera zdll.lib , zdll.exp och zdll.def filer från den uppackade Zlib s lib undermapp till samma målmapp refereras i steg 3 . Också , kopiera zlib1.dll filen från _root_ mappen ( inte lib undermappen ) av Zlib uppackade mappen till Steg 3 : s målmappen .
5
Kopiera huvudfilerna till där Visual C + + kompilator hittar dem : kopiera alla header ( filändelse * tim. ) filer från libharu " inkluderar " undermapp , till samma mapp från steg 3 . Kopiera alla ZLIB header filer från Zlib " inkluderar " undermapp , till steg 3 : s målmapp
6
Skapa referenser till lib- filer du kopierade så att Visual C + + linker kan faktiskt se dem : . I Visual C + + IDE , välj "Visa > fastighetschef . " I Fastighetschef fönstret , högerklicka på " pdfmkr " och välj " Egenskaper . " Exponera " Linker > Input " nod genom att klicka på " Configuration Properties " och sedan " Linker . " I " Extra beroenden " raden , ange namnen på de biblioteksfilerna du just kopierade : . " Zdll.lib " och " libhpdf.lib " ( men inte den DLL -fil )
7
Klistra in efter källkod i Visual C + + -kod fönster :
//////////////////////////////////////////////# 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 , void * userinfo ) { printf ( " FEL : errNum = % 04X , detail_num = % u \\ n ", ( HPDF_UINT ) errNum , ( HPDF_UINT ) detail_num ) ; longjmp ( env , 1 );}
const char fname [] = " myPDF.PDF ";
int main ( int argc , char ** argv ) { HPDF_Doc objPDF , HPDF_Page pdfPage , HPDF_Font font , HPDF_REAL pageHeight ;
objPDF = HPDF_New ( cbHandleErr , NULL ) , ( ! objPDF ) om { printf ( " Kan inte skapa PdfDoc objekt \\ n "); avkastning 1 ; }
om ( setjmp ( env ) ) { HPDF_Free ( objPDF ) , avkastning 1 ; }
/* Skapa pdfPage * /pdfPage = HPDF_AddPage ( objPDF ) , pageHeight = HPDF_Page_GetHeight ( pdfPage ) ;
/* Sätt lite text på pdfPage * /font = HPDF_GetFont ( objPDF , " Times - Roman " , NULL ) ; HPDF_Page_SetFontAndSize ( pdfPage , typsnitt , 24 ) ; HPDF_Page_BeginText ( pdfPage ) , HPDF_Page_TextOut ( pdfPage , 20 , pageHeight - 75 , " Min första PDF " ) , //yesHPDF_Page_EndText ( pdfPage ) , HPDF_SaveToFile ( objPDF , fname ) ; HPDF_Free ( objPDF ) ;
avkastning 0; }
//////////////////////////////////////////////
8
Tryck F5 för att kompilera och köra programmet . Leta efter utfil , myPDF.PDF , i mappen refereras i steg 3 .