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

LibHaru

 
 

Biblioteca C++ cu sursă deschisă pentru documente PDF

Generați, editați, manipulați și convertiți fișiere PDF prin API-ul Open Source C++.

LibHaru este o bibliotecă C++ open source care le permite dezvoltatorilor de software să genereze format de fișier PDF, în prezent, API-ul nu permite citirea sau editarea documentelor PDF existente. Folosind API-ul, puteți genera fișier PDF - adăugați text, linii și adnotări în el. În plus, puteți adăuga și imagini în format PNG și JPEG în document. LibHaru permite, de asemenea, comprimarea documentului PDF cu formatul deflate-decode și generează documente PDF criptate.

LibHaru este scris ANSI-C și poate funcționa atât ca bibliotecă statică, cât și ca bibliotecă partajată. Pentru a-l folosi cu un program C++, îl puteți compila cu orice compilator C++ și îl puteți utiliza ca bibliotecă statică.

Previous Next

Noțiuni introductive cu LibHaru

LibHaru este scris în ANSI-C și pentru a-l folosi cu C++, îl puteți compila cu orice compilator C++ compatibil. În primul rând, puteți descărca și extrage cea mai recentă versiune a API-ului. Există mai multe tipuri de makefile, pentru fiecare compilator, în directorul de scripturi. Construiți biblioteca cu un makefile corespunzător.

Există mai multe tipuri de makefile, pentru fiecare compilator, în directorul de scripturi. Construiți biblioteca cu un makefile corespunzător.

Construiți biblioteca pentru compilator

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

Biblioteca C++ pentru a genera format de fișier PDF

LibHaru a oferit un set de caracteristici care le permit dezvoltatorilor de software să genereze format de fișier PDF. Folosind API-ul, puteți crea un nou document PDF, setați atributele obiectului documentului, creați o pagină nouă, setați obiectul paginii, setați descrierea paginii și salvați documentul într-un fișier sau flux de memorie.

Încorporați imagini în PDF folosind C++

LibHaru le permite dezvoltatorilor de software să încorporeze imagini JPEG și PNG în documente PDF. Folosind API-ul puteți obține dimensiunea imaginii, lățime, înălțime, biți per componentă și spațiu de culoare. În plus, puteți seta o mască de culoare și o imagine de mască pentru imaginea încorporată.

Creați fișiere PDF criptate folosind API-ul C++

Criptarea este un mecanism foarte util care permite codificarea informațiilor în cod secret care ascunde adevărata semnificație a informațiilor. Biblioteca open source LibHaru permite dezvoltatorilor de software să creeze fișiere PDF criptate fără dependențe externe.

Creați fișiere PDF criptate prin 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;
}
        
 Română