Erstellen Adobe PDF (Portable Document Format) -Dateien mit einer Anwendung in der Programmiersprache C geschrieben könnte beinhalten viele Stunden der Entschlüsselung Adobe -Dokumentation. Aber mindestens einer Open-Source- (frei) -Projekt getan hat , dass die Arbeit bereits eine Bibliothek mit dem Ihr C-Programmen zu verknüpfen um PDF-Dateien zu erstellen produzieren kann. Things You
Microsoft Visual brauchen C + +, Express ( oder Full) Ausgabe
Haru PDF -Bibliothek von libharu.org
Zlib DLL -Datei (eine Abhängigkeit der Haru -Bibliothek) von zlib.net
anzeigen Weitere Anweisungen
1
Download Haru Free PDF -Bibliothek von Libharu.org . Wählen Sie die libHaru - - vc6.zip Datei zum Download , die unter dem "Windows Binaries " Überschrift ist . Laden Sie eine Abhängigkeit der Haru -Bibliothek , die Zlib vom Zlib Link in diesem Artikel den Abschnitt Ressourcen .
2 Erstellen Sie ein neues Visual C + + Windows32 Console Application.Enter " pdfmkr " für den Namen des Projekts und " C : \\ Users \\ \\ Desktop \\ pdfmkr " für seine Lage . Aktivieren Sie nicht das " Verzeichnis erstellen " aktivieren
3 Installieren Sie die Bibliothek -Dateien : . Entpacken Sie die libHaru - 2.1.0- vc6.zip und zlib123 - dll.zip Dateien an den standardmäßigen Speicherorten zugewiesen von Ihrem unzipping Anwendung
Kopieren Sie die libhpdf.lib und libhpdf.exp Dateien aus dem lib Unterordner des entpackten libHaru zip-Datei, auf C: . \\ Users \\ \\ Desktop \\ pdfmkr \\ pdfmkr .
4 Kopieren Sie die zdll.lib , zdll.exp und zdll.def Dateien aus dem entpackten Zlib die lib Unterordner auf den gleichen Zielordner in Schritt 3 verwiesen . Auch , kopieren Sie die Datei aus dem zlib1.dll _root_ Ordner (nicht die Unterordner lib ) der Zlib entpackten Ordner , bis 3 der Zielordner Schritt .
5
Kopieren Sie die Header-Dateien , wo die Visual C + +-Compiler sie finden kann : kopieren alle header ( Dateiendung * h ). Dateien aus dem libHaru " include" Unterordner , in den gleichen Ordner aus Schritt 3 . Kopieren Sie alle Zlib Header-Dateien aus dem Zlib "include" Unterordner , bis 3 der Zielordner Schritt
6
erstellen Verweise auf die Dateien, die Sie gerade lib kopiert , so dass die Visual C + +-Linker kann tatsächlich sehen sie : . In der Visual C + + IDE , wählen Sie " Ansicht> Property Manager . " In der Property Manager mit der rechten Maustaste auf " pdfmkr " und wählen Sie "Eigenschaften". Setzen Sie die " Linker > Input "-Knoten , indem Sie auf " Configuration Properties ", dann " Linker ". In der " Zusätzliche Abhängigkeiten " Zeile , geben Sie den Namen der Bibliothek Dateien, die Sie gerade kopiert : . " Zdll.lib " und " libhpdf.lib " (aber nicht die DLL -Datei)
7
Kopiere folgenden Quellcode in die Visual C + + Code-Fenster:
//////////////////////////////////////////////# include " stdafx.h" # include # include # include # include ; # include " hpdf.h "
jmp_buf env ;
# ifdef __ stdcall HPDF_DLLvoid # # elsevoid endifcbHandleErr ( HPDF_STATUS errnum , HPDF_STATUS detail_num , void * userinfo ) {printf ( "ERROR : errnum = % 04X , detail_num = % u \\ n ", ( HPDF_UINT ) errnum , ( HPDF_UINT ) detail_num ); longjmp (env , 1); }
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 ) if { printf ( " Cannot create pdfdoc Objekt \\ n"); return 1; }
if ( setjmp (env )) { HPDF_Free ( objPDF ); return 1; }
/* Erstellen pdfPage * /pdfPage = HPDF_AddPage ( objPDF ); pageHeight = HPDF_Page_GetHeight ( pdfPage );
/* Setzen Sie etwas Text auf 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, "Meine erste PDF "); //yesHPDF_Page_EndText ( pdfPage ); HPDF_SaveToFile ( objPDF , fname ); HPDF_Free ( objPDF );
< p> return 0; }
//////////////////////////////////////////////
8
Drücken Sie F5, kompilieren und starten Sie das Programm . Achten Sie auf die Output-Datei myPDF.PDF , in dem Ordner, in Schritt 3 verwiesen .