LibHaru
Knihovna Open Source C++ pro dokumenty PDF
Vytvářejte, upravujte, upravujte a převádějte soubory PDF prostřednictvím Open Source C++ API.
LibHaru je open source knihovna C++, která umožňuje vývojářům softwaru generovat formát souborů PDF, v současné době rozhraní API neumožňuje čtení nebo úpravu existujících dokumentů PDF. Pomocí API můžete generovat soubor PDF – přidávat do něj text, řádky a anotace. Dále můžete do dokumentu přidat obrázky ve formátu PNG a JPEG. LibHaru také umožňuje komprimovat dokument PDF pomocí formátu deflate-decode a generuje šifrované dokumenty PDF.
LibHaru je napsán ANSI-C a může fungovat jako statická knihovna i sdílená knihovna. Chcete-li jej použít s programem C++, můžete jej zkompilovat s jakýmkoli kompilátorem C++ a použít jej jako statickou knihovnu.
Začínáme s LibHaru
LibHaru je napsán v ANSI-C a chcete-li jej používat s C++, můžete jej zkompilovat s jakýmkoli kompatibilním kompilátorem C++. Nejprve si můžete stáhnout a extrahovat nejnovější verzi API. V adresáři skriptů existuje několik druhů souborů makefile pro každý kompilátor. Sestavte knihovnu pomocí vhodného makefile.
V adresáři skriptů existuje několik druhů souborů makefile pro každý kompilátor. Sestavte knihovnu pomocí vhodného makefile.
Sestavte knihovnu pro kompilátor
//Microsoft VC++ Compiler
NMAKE -f script/Makefile.msvc
//Borland C++ Compiler
make -f script/Makefile.BCC
Knihovna C++ pro generování formátu PDF
LibHaru poskytuje sadu funkcí, které umožňují vývojářům softwaru generovat formát souboru PDF. Pomocí API můžete vytvořit nový dokument PDF, nastavit atributy objektu dokumentu, vytvořit novou stránku, nastavit objekt stránky, nastavit popis stránky a uložit dokument do souboru nebo paměti.
Vkládání obrázků do PDF pomocí C++
LibHaru umožňuje vývojářům softwaru vkládat obrázky JPEG a PNG do dokumentů PDF. Pomocí API můžete získat velikost obrázku, šířku, výšku, bity na komponentu a barevný prostor. Dále můžete nastavit barevnou masku a masku obrázku pro vložený obrázek.
Vytvářejte šifrované soubory PDF pomocí C++ API
Šifrování je velmi užitečný mechanismus, který umožňuje zakódovat informace do tajného kódu, který skryje skutečný význam informace. Open source knihovna LibHaru umožňuje vývojářům softwaru vytvářet šifrované soubory PDF bez jakýchkoliv externích závislostí.
Vytvářejte šifrované soubory PDF pomocí 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;
}