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 مناسب بسازید.

ساخت کتابخانه برای کامپایلر

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

کتابخانه C++ برای تولید فرمت فایل PDF

LibHaru مجموعه ای از ویژگی ها را ارائه کرده است که توسعه دهندگان نرم افزار را قادر می سازد فرمت فایل PDF را تولید کنند. با استفاده از API می توانید یک سند PDF جدید ایجاد کنید، ویژگی های شی سند را تنظیم کنید، یک صفحه جدید ایجاد کنید، شی صفحه را تنظیم کنید، توضیحات صفحه را تنظیم کنید و سند را در یک فایل یا جریان حافظه ذخیره کنید.

با استفاده از C++ تصاویر را در PDF جاسازی کنید

LibHaru توسعه دهندگان نرم افزار را قادر می سازد تا تصاویر JPEG و PNG را در اسناد PDF جاسازی کنند. با استفاده از API می توانید اندازه تصویر، عرض، ارتفاع، بیت در هر جزء و فضای رنگ را دریافت کنید. علاوه بر این، می توانید یک ماسک رنگی و تصویر ماسک برای تصویر تعبیه شده تنظیم کنید.

با استفاده از C++ API فایل های PDF رمزگذاری شده ایجاد کنید

رمزگذاری مکانیزم بسیار مفیدی است که امکان رمزگذاری اطلاعات به کد مخفی را فراهم می کند که معنای واقعی اطلاعات را پنهان می کند. کتابخانه منبع باز 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;
}
        
 فارسی