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

LibHaru

 
 

Atvērtā pirmkoda C++ bibliotēka PDF dokumentiem

Ģenerējiet, rediģējiet, manipulējiet un konvertējiet PDF failus, izmantojot atvērtā pirmkoda C++ API.

LibHaru ir atvērtā pirmkoda C++ bibliotēka, kas programmatūras izstrādātājiem ļauj ģenerēt PDF faila formātu, pašlaik API neļauj lasīt vai rediģēt esošos PDF dokumentus. Izmantojot API, varat ģenerēt PDF failu - pievienojiet tam tekstu, rindiņas un anotācijas. Turklāt dokumentam varat pievienot arī attēlus PNG un JPEG formātā. LibHaru ļauj arī saspiest PDF dokumentu ar deflācijas-dekodēšanas formātu un ģenerē šifrētus PDF dokumentus.

LibHaru ir rakstīts ANSI-C un var darboties gan kā statiskā bibliotēka, gan kā koplietojama bibliotēka. Lai to izmantotu ar C++ programmu, varat to kompilēt ar jebkuru C++ kompilatoru un izmantot kā statisko bibliotēku.

Previous Next

Darba sākšana ar LibHaru

LibHaru ir rakstīts ANSI-C, un, lai to izmantotu kopā ar C++, varat to kompilēt ar jebkuru saderīgu C++ kompilatoru. Pirmkārt, varat lejupielādēt un izvilkt jaunāko API versiju. Katram kompilatoram skriptu direktorijā ir vairāki makefile veidi. Izveidojiet bibliotēku, izmantojot atbilstošu makefile.

Katram kompilatoram skriptu direktorijā ir vairāki makefile veidi. Izveidojiet bibliotēku, izmantojot atbilstošu makefile.

Izveidojiet kompilatora bibliotēku

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

C++ bibliotēka PDF faila formāta ģenerēšanai

LibHaru ir nodrošinājis funkciju kopumu, kas programmatūras izstrādātājiem ļauj ģenerēt PDF faila formātu. Izmantojot API, varat izveidot jaunu PDF dokumentu, iestatīt dokumenta objekta atribūtus, izveidot jaunu lapu, iestatīt lapas objektu, iestatīt lapas aprakstu un saglabāt dokumentu failā vai atmiņas plūsmā.

Iegult attēlus PDF failā, izmantojot C++

LibHaru ļauj programmatūras izstrādātājiem iegult JPEG un PNG attēlus PDF dokumentos. Izmantojot API, varat iegūt attēla izmēru, platumu, augstumu, bitus katrā komponentā un krāsu telpu. Turklāt iegultajam attēlam varat iestatīt krāsu masku un maskas attēlu.

Izveidojiet šifrētus PDF failus, izmantojot C++ API

Šifrēšana ir ļoti noderīgs mehānisms, kas ļauj iekodēt informāciju slepenā kodā, kas slēpj informācijas patieso nozīmi. Atvērtā koda bibliotēka LibHaru ļauj programmatūras izstrādātājiem izveidot šifrētus PDF failus bez ārējām atkarībām.

Izveidojiet šifrētus PDF failus, izmantojot 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;
}
        
 Latviski