LibHaru
Open Source C++ bibliotek til PDF-dokumenter
Generer, rediger, manipuler og konverter PDF-filer via Open Source C++ API.
LibHaru er et open source C++-bibliotek, der gør det muligt for softwareudviklere at generere PDF-filformat, i øjeblikket tillader API'en ikke læsning eller redigering af eksisterende PDF-dokumenter. Ved at bruge API'et kan du generere PDF-fil - tilføje tekst, linjer og anmærkninger i den. Desuden kan du også tilføje billeder i PNG- og JPEG-format i dokumentet. LibHaru tillader også at komprimere PDF-dokumentet med deflate-decode-formatet og genererer krypterede PDF-dokumenter.
LibHaru er skrevet ANSI-C og kan fungere både som statisk bibliotek og delt bibliotek. For at bruge det med et C++-program kan du kompilere det med enhver C++-kompiler og bruge det som et statisk bibliotek.
Kom godt i gang med LibHaru
LibHaru er skrevet i ANSI-C og for at bruge det med C++, kan du kompilere det med enhver kompatibel C++ compiler. Først og fremmest kan du downloade og udpakke den nyeste version af API'en. Der er flere slags make-filer, for hver compiler, i script-mappen. Byg biblioteket med en passende make-fil.
Der er flere slags make-filer, for hver compiler, i script-mappen. Byg biblioteket med en passende make-fil.
Byg biblioteket til compiler
//Microsoft VC++ Compiler
NMAKE -f script/Makefile.msvc
//Borland C++ Compiler
make -f script/Makefile.BCC
C++ bibliotek til at generere PDF-filformat
LibHaru har leveret et sæt funktioner, der gør det muligt for softwareudviklere at generere PDF-filformat. Ved hjælp af API'et kan du oprette et nyt PDF-dokument, indstille dokumentobjektattributter, oprette en ny side, indstille sideobjekt, indstille sidebeskrivelse og gemme dokumentet til en fil eller en hukommelsesstrøm.
Integrer billeder i PDF ved hjælp af C++
LibHaru gør det muligt for softwareudviklere at indlejre JPEG- og PNG-billeder i PDF-dokumenter. Ved at bruge API'et kan du få billedstørrelse, bredde, højde, bits pr. komponent og farverum. Desuden kan du indstille en farvemaske og maskebillede for det indlejrede billede.
Opret krypterede PDF-filer ved hjælp af C++ API
Kryptering er en meget nyttig mekanisme, der gør det muligt at indkode information til hemmelig kode, der skjuler informationens sande betydning. Open source-biblioteket LibHaru gør det muligt for softwareudviklere at skabe krypterede PDF-filer uden nogen ekstern afhængighed.
Opret krypterede PDF-filer via C++
const static char* text = "This is an encrypt document example.";
const static char* owner_passwd = "owner";
const static char* user_passwd = "user";
jmp_buf env;
#ifdef HPDF_DLL
void __stdcall
#else
void
#endif
error_handler (HPDF_STATUS error_no,
HPDF_STATUS detail_no,
void *user_data)
{
printf ("ERROR: error_no=%04X, detail_no=%u\n", (HPDF_UINT)error_no,
(HPDF_UINT)detail_no);
longjmp(env, 1);
}
int
main (int argc, char **argv)
{
HPDF_Doc pdf;
HPDF_Font font;
HPDF_Page page;
char fname[256];
HPDF_REAL tw;
strcpy (fname, argv[0]);
strcat (fname, ".pdf");
pdf = HPDF_New (error_handler, NULL);
if (!pdf) {
printf ("error: cannot create PdfDoc object\n");
return 1;
}
if (setjmp(env)) {
HPDF_Free (pdf);
return 1;
}
/* create default-font */
font = HPDF_GetFont (pdf, "Helvetica", NULL);
/* add a new page object. */
page = HPDF_AddPage (pdf);
HPDF_Page_SetSize (page, HPDF_PAGE_SIZE_B5, HPDF_PAGE_LANDSCAPE);
HPDF_Page_BeginText (page);
HPDF_Page_SetFontAndSize (page, font, 20);
tw = HPDF_Page_TextWidth (page, text);
HPDF_Page_MoveTextPos (page, (HPDF_Page_GetWidth (page) - tw) / 2,
(HPDF_Page_GetHeight (page) - 20) / 2);
HPDF_Page_ShowText (page, text);
HPDF_Page_EndText (page);
HPDF_SetPassword (pdf, owner_passwd, user_passwd);
/* save the document to a file */
HPDF_SaveToFile (pdf, fname);
/* clean up */
HPDF_Free (pdf);
return 0;
}