LibHaru
PDF Belgeleri için Açık Kaynak C++ Kitaplığı
Açık Kaynak C++ API aracılığıyla PDF Dosyaları Oluşturun, Düzenleyin, İşleyin ve Dönüştürün.
LibHaru, yazılım geliştiricilerin PDF dosya formatı oluşturmasını sağlayan açık kaynaklı bir C++ kitaplığıdır, şu anda API, mevcut PDF belgelerinin okunmasına veya düzenlenmesine izin vermemektedir. API'yi kullanarak PDF dosyası oluşturabilirsiniz - içine metin, satırlar ve açıklamalar ekleyebilirsiniz. Ayrıca, belgeye PNG ve JPEG formatındaki görüntüleri de ekleyebilirsiniz. LibHaru ayrıca PDF belgesinin deflate-decode formatı ile sıkıştırılmasına izin verir ve şifreli PDF belgeleri oluşturur.
LibHaru, ANSI-C olarak yazılmıştır ve hem statik kitaplık hem de paylaşımlı kitaplık olarak çalışabilir. Bir C++ programıyla kullanmak için herhangi bir C++ derleyicisiyle derleyebilir ve statik kitaplık olarak kullanabilirsiniz.
LibHaru'ya Başlarken
LibHaru, ANSI-C ile yazılmıştır ve onu C++ ile kullanmak için herhangi bir uyumlu C++ derleyicisi ile derleyebilirsiniz. Her şeyden önce, API'nin en son sürümünü indirebilir ve çıkarabilirsiniz. Betik dizininde her derleyici için birkaç tür makefile vardır. Kitaplığı uygun bir makefile ile oluşturun.
Betik dizininde her derleyici için birkaç tür makefile vardır. Kitaplığı uygun bir makefile ile oluşturun.
Derleyici için Kitaplığı Oluşturun
//Microsoft VC++ Compiler
NMAKE -f script/Makefile.msvc
//Borland C++ Compiler
make -f script/Makefile.BCC
PDF Dosya Biçimi Oluşturmak için C++ Kitaplığı
LibHaru, yazılım geliştiricilerin PDF dosya formatı oluşturmasını sağlayan bir dizi özellik sağlamıştır. API'yi kullanarak yeni bir PDF belgesi oluşturabilir, belge nesnesi niteliklerini ayarlayabilir, yeni bir sayfa oluşturabilir, sayfa nesnesini ayarlayabilir, sayfa açıklamasını ayarlayabilir ve belgeyi bir dosyaya veya bellek akışına kaydedebilirsiniz.
Görüntüleri C++ kullanarak PDF'ye gömün
LibHaru, yazılım geliştiricilerin JPEG ve PNG görüntülerini PDF belgelerine gömmelerini sağlar. API'yi kullanarak görüntü boyutu, genişlik, yükseklik, bileşen başına bit ve renk alanı elde edebilirsiniz. Ayrıca, gömülü görüntü için bir renk maskesi ve maske görüntüsü ayarlayabilirsiniz.
C++ API kullanarak Şifreli PDF Dosyaları Oluşturun
Şifreleme, bilginin gerçek anlamını gizleyen gizli koda bilgi kodlamaya izin veren çok kullanışlı bir mekanizmadır. Açık kaynak kitaplığı LibHaru, yazılım geliştiricilerin herhangi bir dış bağımlılık olmadan şifreli PDF dosyaları oluşturmasını sağlar.
C++ ile Şifreli PDF Dosyaları Oluşturun
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;
}