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

LibHaru

 
 

Libreria C++ open source per documenti PDF

Genera, modifica, manipola e converti file PDF tramite API C++ open source.

LibHaru è una libreria C++ open source che consente agli sviluppatori di software di generare file in formato PDF, attualmente l'API non consente la lettura o la modifica di documenti PDF esistenti. Usando l'API puoi generare file PDF: aggiungi testo, righe e annotazioni al suo interno. Inoltre, puoi anche aggiungere immagini in formato PNG e JPEG nel documento. LibHaru consente anche di comprimere il documento PDF con il formato deflate-decode e genera documenti PDF crittografati.

LibHaru è scritto ANSI-C e può funzionare sia come libreria statica che come libreria condivisa. Per usarlo con un programma C++ puoi compilarlo con qualsiasi compilatore C++ e usarlo come libreria statica.

Previous Next

Per iniziare con LibHaru

LibHaru è scritto in ANSI-C e per usarlo con C++, puoi compilarlo con qualsiasi compilatore C++ compatibile. Prima di tutto, puoi scaricare ed estrarre l'ultima versione dell'API. Ci sono diversi tipi di makefile, per ogni compilatore, nella directory degli script. Costruisci la libreria con un makefile appropriato.

Ci sono diversi tipi di makefile, per ogni compilatore, nella directory degli script. Costruisci la libreria con un makefile appropriato.

Costruisci la libreria per il compilatore

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

Libreria C++ per generare file in formato PDF

LibHaru ha fornito una serie di funzionalità che consentono agli sviluppatori di software di generare file in formato PDF. Utilizzando l'API è possibile creare un nuovo documento PDF, impostare gli attributi dell'oggetto del documento, creare una nuova pagina, impostare l'oggetto della pagina, impostare la descrizione della pagina e salvare il documento in un file o in un flusso di memoria.

Incorpora immagini in PDF usando C++

LibHaru consente agli sviluppatori di software di incorporare immagini JPEG e PNG nei documenti PDF. Utilizzando l'API puoi ottenere dimensioni, larghezza, altezza, bit per componente e spazio colore dell'immagine. Inoltre, puoi impostare una maschera colore e un'immagine maschera per l'immagine incorporata.

Crea file PDF crittografati utilizzando l'API C++

La crittografia è un meccanismo molto utile che consente di codificare le informazioni in un codice segreto che nasconde il vero significato delle informazioni. La libreria open source LibHaru consente agli sviluppatori di software di creare file PDF crittografati senza dipendenze esterne.

Crea file PDF crittografati tramite 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;
}
        
 Italiano