1. Các sản phẩm
  2.   PDF
  3.   C++
  4.   LibHaru

LibHaru

 
 

Thư viện C ++ mã nguồn mở cho tài liệu PDF

Tạo, chỉnh sửa, thao tác và chuyển đổi tệp PDF thông qua API C ++ mã nguồn mở.

LibHaru là một thư viện C ++ mã nguồn mở cho phép các nhà phát triển phần mềm tạo định dạng tệp PDF, hiện tại, API không cho phép đọc hoặc chỉnh sửa các tài liệu PDF hiện có. Sử dụng API, bạn có thể tạo tệp PDF - thêm văn bản, dòng và chú thích vào nó. Hơn nữa, bạn cũng có thể thêm hình ảnh định dạng PNG và JPEG trong tài liệu. LibHaru cũng cho phép nén tài liệu PDF với định dạng deflate-decode và tạo các tài liệu PDF được mã hóa.

LibHaru được viết ANSI-C và có thể hoạt động như thư viện tĩnh và thư viện chia sẻ. Để sử dụng nó với một chương trình C ++, bạn có thể biên dịch nó bằng bất kỳ trình biên dịch C ++ nào và sử dụng nó như một thư viện tĩnh.

Previous Next

Bắt đầu với LibHaru

LibHaru được viết bằng ANSI-C và để sử dụng nó với C ++, bạn có thể biên dịch nó bằng bất kỳ trình biên dịch C ++ tuân thủ nào. Trước hết, bạn có thể tải xuống và giải nén phiên bản mới nhất của API. Có một số loại makefile, cho mọi trình biên dịch, trong thư mục script. Xây dựng thư viện với một makefile thích hợp.

Có một số loại makefile, cho mọi trình biên dịch, trong thư mục script. Xây dựng thư viện với một makefile thích hợp.

Xây dựng Thư viện cho Trình biên dịch

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

Thư viện C ++ để tạo định dạng tệp PDF

LibHaru đã cung cấp một tập hợp các tính năng cho phép các nhà phát triển phần mềm tạo định dạng tệp PDF. Sử dụng API, bạn có thể tạo tài liệu PDF mới, đặt thuộc tính đối tượng tài liệu, tạo trang mới, đặt đối tượng trang, đặt mô tả trang và lưu tài liệu vào tệp hoặc luồng bộ nhớ.

Nhúng hình ảnh vào PDF bằng C ++

LibHaru cho phép các nhà phát triển phần mềm nhúng hình ảnh JPEG và PNG vào tài liệu PDF. Sử dụng API, bạn có thể nhận được kích thước hình ảnh, chiều rộng, chiều cao, số bit trên mỗi thành phần và không gian màu. Hơn nữa, bạn có thể đặt mặt nạ màu và hình ảnh mặt nạ cho hình ảnh được nhúng.

Tạo tệp PDF được mã hóa bằng API C ++

Mã hóa là một cơ chế rất hữu ích cho phép mã hóa thông tin thành mã bí mật để che giấu ý nghĩa thực sự của thông tin. Thư viện mã nguồn mở LibHaru cho phép các nhà phát triển phần mềm tạo các tệp PDF được mã hóa mà không cần bất kỳ phụ thuộc bên ngoài nào.

Tạo tệp PDF được mã hóa qua 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;
}
        
 Tiếng Việt