1. Προϊόντα
  2.   PDF
  3.   C++
  4.   LibHaru

LibHaru

 
 

Βιβλιοθήκη ανοιχτού κώδικα C++ για έγγραφα PDF

Δημιουργία, επεξεργασία, χειραγώγηση και μετατροπή αρχείων PDF μέσω του API ανοιχτού κώδικα C++.

Το LibHaru είναι μια βιβλιοθήκη ανοιχτού κώδικα C++ που επιτρέπει στους προγραμματιστές λογισμικού να δημιουργούν μορφή αρχείου PDF, προς το παρόν, το API δεν επιτρέπει την ανάγνωση ή την επεξεργασία υπαρχόντων εγγράφων PDF. Χρησιμοποιώντας το API μπορείτε να δημιουργήσετε αρχείο PDF - να προσθέσετε κείμενο, γραμμές και σχολιασμούς σε αυτό. Επιπλέον, μπορείτε επίσης να προσθέσετε εικόνες σε μορφή PNG και JPEG στο έγγραφο. Το LibHaru επιτρέπει επίσης τη συμπίεση του εγγράφου PDF με τη μορφή deflate-decode και δημιουργεί κρυπτογραφημένα έγγραφα PDF.

Το LibHaru είναι γραμμένο ANSI-C και μπορεί να λειτουργήσει τόσο ως στατική βιβλιοθήκη όσο και ως κοινόχρηστη βιβλιοθήκη. Για να το χρησιμοποιήσετε με ένα πρόγραμμα C++, μπορείτε να το μεταγλωττίσετε με οποιονδήποτε μεταγλωττιστή C++ και να το χρησιμοποιήσετε ως στατική βιβλιοθήκη.

Previous Next

Ξεκινώντας με το LibHaru

Το LibHaru είναι γραμμένο σε ANSI-C και για να το χρησιμοποιήσετε με C++, μπορείτε να το μεταγλωττίσετε με οποιονδήποτε συμβατό μεταγλωττιστή C++. Πρώτα απ 'όλα, μπορείτε να κάνετε λήψη και εξαγωγή της πιο πρόσφατης έκδοσης του API. Υπάρχουν διάφορα είδη makefile, για κάθε μεταγλωττιστή, στον κατάλογο σεναρίων. Φτιάξτε τη βιβλιοθήκη με ένα κατάλληλο makefile.

Υπάρχουν διάφορα είδη makefile, για κάθε μεταγλωττιστή, στον κατάλογο σεναρίων. Φτιάξτε τη βιβλιοθήκη με ένα κατάλληλο makefile.

Δημιουργήστε τη βιβλιοθήκη για τον μεταγλωττιστή

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

Βιβλιοθήκη C++ για δημιουργία μορφής αρχείου PDF

Το LibHaru έχει παράσχει ένα σύνολο λειτουργιών που επιτρέπουν στους προγραμματιστές λογισμικού να δημιουργούν μορφή αρχείου PDF. Χρησιμοποιώντας το API μπορείτε να δημιουργήσετε ένα νέο έγγραφο PDF, να ορίσετε χαρακτηριστικά αντικειμένου εγγράφου, να δημιουργήσετε μια νέα σελίδα, να ορίσετε το αντικείμενο σελίδας, να ορίσετε την περιγραφή σελίδας και να αποθηκεύσετε το έγγραφο σε ένα αρχείο ή ροή μνήμης.

Ενσωματώστε εικόνες σε PDF χρησιμοποιώντας C++

Το LibHaru επιτρέπει στους προγραμματιστές λογισμικού να ενσωματώνουν εικόνες JPEG και PNG σε έγγραφα PDF. Χρησιμοποιώντας το API μπορείτε να λάβετε μέγεθος εικόνας, πλάτος, ύψος, bits ανά στοιχείο και χρωματικό χώρο. Επιπλέον, μπορείτε να ορίσετε μια έγχρωμη μάσκα και μια εικόνα μάσκας για την ενσωματωμένη εικόνα.

Δημιουργήστε κρυπτογραφημένα αρχεία PDF χρησιμοποιώντας το C++ API

Η κρυπτογράφηση είναι ένας πολύ χρήσιμος μηχανισμός που επιτρέπει την κωδικοποίηση πληροφοριών σε μυστικό κώδικα που κρύβει το πραγματικό νόημα των πληροφοριών. Η βιβλιοθήκη ανοιχτού κώδικα LibHaru επιτρέπει στους προγραμματιστές λογισμικού να δημιουργούν κρυπτογραφημένα αρχεία PDF χωρίς εξωτερικές εξαρτήσεις.

Δημιουργήστε κρυπτογραφημένα αρχεία PDF μέσω 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;
}
        
 Ελληνικά