LibHaru
Nyílt forráskódú C++ könyvtár PDF-dokumentumokhoz
Létrehozhat, szerkeszthet, manipulálhat és konvertálhat PDF-fájlokat a nyílt forráskódú C++ API-n keresztül.
A LibHaru egy nyílt forráskódú C++ könyvtár, amely lehetővé teszi a szoftverfejlesztők számára, hogy PDF fájlformátumot hozzanak létre, jelenleg az API nem teszi lehetővé a meglévő PDF dokumentumok olvasását vagy szerkesztését. Az API segítségével PDF-fájlt hozhat létre – szöveget, sorokat és megjegyzéseket adhat hozzá. Ezenkívül PNG és JPEG formátumú képeket is hozzáadhat a dokumentumhoz. A LibHaru emellett lehetővé teszi a PDF-dokumentum tömörítését a deflate-decode formátumban, és titkosított PDF dokumentumokat állít elő.
A LibHaru ANSI-C formátumú, és statikus könyvtárként és megosztott könyvtárként is működik. Ha C++ programmal szeretné használni, akkor bármilyen C++ fordítóval lefordíthatja és statikus könyvtárként használhatja.
A LibHaru használatának első lépései
A LibHaru ANSI-C nyelven íródott, és a C++-val való használathoz bármilyen kompatibilis C++ fordítóval lefordíthatja. Először is letöltheti és kibonthatja az API legújabb verzióját. A script könyvtárban többféle makefile található minden fordítóhoz. Építsd fel a könyvtárat egy megfelelő makefile segítségével.
A script könyvtárban többféle makefile található minden fordítóhoz. Építsd fel a könyvtárat egy megfelelő makefile segítségével.
Építsd meg a Library for Compiler programot
//Microsoft VC++ Compiler
NMAKE -f script/Makefile.msvc
//Borland C++ Compiler
make -f script/Makefile.BCC
C++ könyvtár PDF fájlformátum létrehozásához
A LibHaru olyan funkciókat kínál, amelyek lehetővé teszik a szoftverfejlesztők számára, hogy PDF fájlformátumot hozzanak létre. Az API segítségével új PDF dokumentumot hozhat létre, dokumentumobjektum-attribútumokat állíthat be, új oldalt hozhat létre, oldalobjektumot állíthat be, oldalleírást állíthat be, és a dokumentumot fájlba vagy memóriafolyamba mentheti.
Képek beágyazása PDF-be C++ használatával
A LibHaru lehetővé teszi a szoftverfejlesztők számára, hogy JPEG és PNG képeket ágyazzanak be PDF dokumentumokba. Az API segítségével megkaphatja a kép méretét, szélességét, magasságát, komponensenkénti bitjeit és színterét. Ezenkívül beállíthat egy színmaszkot és egy maszkképet a beágyazott képhez.
Titkosított PDF fájlok létrehozása C++ API használatával
A titkosítás egy nagyon hasznos mechanizmus, amely lehetővé teszi az információk titkos kódba való kódolását, amely elrejti az információ valódi jelentését. A LibHaru nyílt forráskódú könyvtár lehetővé teszi a szoftverfejlesztők számára, hogy titkosított PDF-fájlokat hozzanak létre külső függőségek nélkül.
Titkosított PDF fájlok létrehozása C++ segítségével
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;
}