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

LibHaru

 
 

Open Source C++-bibliotek for PDF-dokumenter

Generer, rediger, manipuler og konverter PDF-filer via Open Source C++ API.

LibHaru er et åpen kildekode C++-bibliotek som gjør det mulig for programvareutviklere å generere PDF-filformat, for øyeblikket tillater ikke APIen å lese eller redigere eksisterende PDF-dokumenter. Ved å bruke API-en kan du generere PDF-fil - legg til tekst, linjer og merknader i den. Videre kan du også legge til bilder av PNG- og JPEG-format i dokumentet. LibHaru tillater også komprimering av PDF-dokumentet med deflate-decode-formatet og genererer krypterte PDF-dokumenter.

LibHaru er skrevet ANSI-C og kan fungere både som statisk bibliotek og delt bibliotek. For å bruke det med et C++-program kan du kompilere det med en hvilken som helst C++-kompilator og bruke det som et statisk bibliotek.

Previous Next

Komme i gang med LibHaru

LibHaru er skrevet i ANSI-C og for å bruke den med C++, kan du kompilere den med en hvilken som helst kompatibel C++-kompilator. Først av alt kan du laste ned og trekke ut den nyeste versjonen av API. Det er flere typer makefile, for hver kompilator, i skriptkatalogen. Bygg biblioteket med en passende makefil.

Det er flere typer makefile, for hver kompilator, i skriptkatalogen. Bygg biblioteket med en passende makefil.

Bygg biblioteket for kompilatoren

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

C++-bibliotek for å generere PDF-filformat

LibHaru har levert et sett med funksjoner som gjør det mulig for programvareutviklere å generere PDF-filformat. Ved å bruke API kan du opprette et nytt PDF-dokument, angi dokumentobjektattributter, opprette en ny side, angi sideobjekt, angi sidebeskrivelse og lagre dokumentet i en fil eller en minnestrøm.

Bygg inn bilder i PDF ved hjelp av C++

LibHaru gjør det mulig for programvareutviklere å bygge inn JPEG- og PNG-bilder i PDF-dokumenter. Ved å bruke API kan du få bildestørrelse, bredde, høyde, bits per komponent og fargerom. Videre kan du angi en fargemaske og maskebilde for det innebygde bildet.

Lag krypterte PDF-filer ved hjelp av C++ API

Kryptering er en veldig nyttig mekanisme som gjør det mulig å kode informasjon til hemmelig kode som skjuler informasjonens sanne betydning. Open source-biblioteket LibHaru gjør det mulig for programvareutviklere å lage krypterte PDF-filer uten noen eksterne avhengigheter.

Lag krypterte PDF-filer via 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;
}
        
 Norsk