1. Produkte
  2.   Pdf
  3.   C++
  4.   LibHaru

LibHaru

 
 

Open-Source-C++-Bibliothek für PDF-Dokumente

Generieren, bearbeiten, bearbeiten und konvertieren Sie PDF-Dateien über die Open-Source-C++-API.

LibHaru ist eine Open-Source-C++-Bibliothek, die es Softwareentwicklern ermöglicht, PDF-Dateiformate zu generieren. Derzeit erlaubt die API nicht das Lesen oder Bearbeiten vorhandener PDF-Dokumente. Mit der API können Sie eine PDF-Datei generieren - fügen Sie Text, Zeilen und Anmerkungen hinzu. Darüber hinaus können Sie dem Dokument auch Bilder im PNG- und JPEG-Format hinzufügen. LibHaru ermöglicht auch das Komprimieren des PDF-Dokuments mit dem Deflate-Decode-Format und generiert verschlüsselte PDF-Dokumente.

LibHaru ist in ANSI-C geschrieben und kann sowohl als statische Bibliothek als auch als gemeinsam genutzte Bibliothek arbeiten. Um es mit einem C++-Programm zu verwenden, können Sie es mit jedem C++-Compiler kompilieren und als statische Bibliothek verwenden.

Previous Next

Erste Schritte mit LibHaru

LibHaru ist in ANSI-C geschrieben und um es mit C++ zu verwenden, können Sie es mit jedem kompatiblen C++-Compiler kompilieren. Zunächst können Sie die neueste Version der API herunterladen und extrahieren. Es gibt mehrere Arten von Makefiles für jeden Compiler im Skriptverzeichnis. Erstellen Sie die Bibliothek mit einem geeigneten Makefile.

Es gibt mehrere Arten von Makefiles für jeden Compiler im Skriptverzeichnis. Erstellen Sie die Bibliothek mit einem geeigneten Makefile.

Erstellen Sie die Bibliothek für Compiler

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

C++-Bibliothek zum Generieren des PDF-Dateiformats

LibHaru hat eine Reihe von Funktionen bereitgestellt, die es Softwareentwicklern ermöglichen, PDF-Dateiformate zu generieren. Mit der API können Sie ein neues PDF-Dokument erstellen, Dokumentobjektattribute festlegen, eine neue Seite erstellen, ein Seitenobjekt festlegen, eine Seitenbeschreibung festlegen und das Dokument in einer Datei oder einem Speicherstrom speichern.

Betten Sie Bilder mit C++ in PDF ein

LibHaru ermöglicht Softwareentwicklern das Einbetten von JPEG- und PNG-Bildern in PDF-Dokumente. Mit der API können Sie Bildgröße, Breite, Höhe, Bits pro Komponente und Farbraum abrufen. Außerdem können Sie eine Farbmaske und ein Maskenbild für das eingebettete Bild festlegen.

Erstellen Sie verschlüsselte PDF-Dateien mit der C++-API

Die Verschlüsselung ist ein sehr nützlicher Mechanismus, der es ermöglicht, Informationen in einen geheimen Code zu verschlüsseln, der die wahre Bedeutung der Informationen verbirgt. Die Open-Source-Bibliothek LibHaru ermöglicht es Softwareentwicklern, verschlüsselte PDF-Dateien ohne externe Abhängigkeiten zu erstellen.

Erstellen Sie verschlüsselte PDF-Dateien über 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;
}
        
 Deutsch