1. Produk
  2.   PDF
  3.   C++
  4.   LibHaru

LibHaru

 
 

Pustaka C++ Sumber Terbuka untuk Dokumen PDF

Buat, Edit, Manipulasi & Konversi File PDF melalui Open Source C++ API.

LibHaru adalah pustaka C++ open source yang memungkinkan pengembang perangkat lunak untuk menghasilkan format file PDF, saat ini, API tidak mengizinkan membaca atau mengedit dokumen PDF yang ada. Dengan menggunakan API, Anda dapat membuat file PDF - menambahkan teks, baris, dan anotasi ke dalamnya. Selanjutnya, Anda juga dapat menambahkan gambar berformat PNG dan JPEG ke dalam dokumen. LibHaru juga memungkinkan mengompresi dokumen PDF dengan format deflate-decode dan menghasilkan dokumen PDF terenkripsi.

LibHaru ditulis ANSI-C dan dapat berfungsi baik sebagai perpustakaan statis maupun perpustakaan bersama. Untuk menggunakannya dengan program C++, Anda dapat mengompilasinya dengan kompiler C++ apa pun dan menggunakannya sebagai perpustakaan statis.

Previous Next

Memulai dengan LibHaru

LibHaru ditulis dalam ANSI-C dan untuk menggunakannya dengan C++, Anda dapat mengompilasinya dengan kompiler C++ yang sesuai. Pertama-tama, Anda dapat mengunduh dan mengekstrak API versi terbaru. Ada beberapa jenis makefile, untuk setiap compiler, di direktori script. Bangun perpustakaan dengan makefile yang sesuai.

Ada beberapa jenis makefile, untuk setiap compiler, di direktori script. Bangun perpustakaan dengan makefile yang sesuai.

Bangun Perpustakaan untuk Kompilator

 //Microsoft VC++ Compiler 
NMAKE -f script/Makefile.msvc
//Borland C++ Compiler
make -f script/Makefile.BCC

Pustaka C++ untuk Menghasilkan Format File PDF

LibHaru telah menyediakan serangkaian fitur yang memungkinkan pengembang perangkat lunak untuk menghasilkan format file PDF. Dengan menggunakan API, Anda dapat membuat dokumen PDF baru, mengatur atribut objek dokumen, membuat halaman baru, mengatur objek halaman, mengatur deskripsi halaman, dan menyimpan dokumen ke file atau aliran memori.

Sematkan Gambar dalam PDF menggunakan C++

LibHaru memungkinkan pengembang perangkat lunak untuk menyematkan gambar JPEG dan PNG dalam dokumen PDF. Dengan menggunakan API, Anda bisa mendapatkan ukuran gambar, lebar, tinggi, bit per komponen, dan ruang warna. Selanjutnya, Anda dapat mengatur topeng warna dan gambar topeng untuk gambar yang disematkan.

Buat File PDF Terenkripsi menggunakan C++ API

Enkripsi adalah mekanisme yang sangat berguna yang memungkinkan pengkodean informasi menjadi kode rahasia yang menyembunyikan arti sebenarnya dari informasi tersebut. Pustaka sumber terbuka LibHaru memungkinkan pengembang perangkat lunak membuat file PDF terenkripsi tanpa ketergantungan eksternal.

Buat File PDF Terenkripsi melalui 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;
}
        
 Indonesia