LibHaru

 
 

PDF ডকুমেন্টের জন্য ওপেন সোর্স C++ লাইব্রেরি

ওপেন সোর্স C++ API-এর মাধ্যমে PDF ফাইল তৈরি, সম্পাদনা, ম্যানিপুলেট এবং রূপান্তর করুন।

LibHaru হল একটি ওপেন সোর্স C++ লাইব্রেরি যা সফ্টওয়্যার ডেভেলপারদের PDF ফাইল ফরম্যাট তৈরি করতে সক্ষম করে, বর্তমানে, API বিদ্যমান পিডিএফ নথিগুলি পড়তে বা সম্পাদনা করার অনুমতি দেয় না। API ব্যবহার করে আপনি PDF ফাইল তৈরি করতে পারেন - এতে পাঠ্য, লাইন এবং টীকা যোগ করুন। উপরন্তু, আপনি নথিতে PNG এবং JPEG ফর্ম্যাটের ছবিও যোগ করতে পারেন। LibHaru পিডিএফ ডকুমেন্টকে ডিফ্লেট-ডিকোড ফর্ম্যাটের সাথে সংকুচিত করার অনুমতি দেয় এবং এনক্রিপ্ট করা পিডিএফ ডকুমেন্ট তৈরি করে।

LibHaru ANSI-C লেখা হয় এবং স্ট্যাটিক-লাইব্রেরি এবং শেয়ার্ড-লাইব্রেরি উভয়ই কাজ করতে পারে। এটি একটি C++ প্রোগ্রামের সাথে ব্যবহার করতে আপনি এটিকে যেকোনো C++ কম্পাইলারের সাথে কম্পাইল করতে পারেন এবং এটিকে স্ট্যাটিক-লাইব্রেরি হিসেবে ব্যবহার করতে পারেন।

Previous Next

LibHaru দিয়ে শুরু করা

LibHaru ANSI-C তে লেখা আছে এবং এটি C++ এর সাথে ব্যবহার করার জন্য, আপনি যেকোন কমপ্লায়েন্ট C++ কম্পাইলারের সাথে কম্পাইল করতে পারেন। প্রথমত, আপনি API এর সর্বশেষ সংস্করণটি ডাউনলোড এবং এক্সট্রাক্ট করতে পারেন। স্ক্রিপ্ট ডিরেক্টরিতে প্রতিটি কম্পাইলারের জন্য বিভিন্ন ধরণের মেকফাইল রয়েছে। একটি উপযুক্ত মেকফাইল দিয়ে লাইব্রেরি তৈরি করুন।

স্ক্রিপ্ট ডিরেক্টরিতে প্রতিটি কম্পাইলারের জন্য বিভিন্ন ধরণের মেকফাইল রয়েছে। একটি উপযুক্ত মেকফাইল দিয়ে লাইব্রেরি তৈরি করুন।

কম্পাইলারের জন্য লাইব্রেরি তৈরি করুন

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

পিডিএফ ফাইল ফরম্যাট তৈরি করতে C++ লাইব্রেরি

LibHaru বৈশিষ্ট্যের একটি সেট সরবরাহ করেছে যা সফ্টওয়্যার বিকাশকারীদের PDF ফাইল বিন্যাস তৈরি করতে সক্ষম করে। এপিআই ব্যবহার করে আপনি একটি নতুন পিডিএফ ডকুমেন্ট তৈরি করতে পারেন, ডকুমেন্ট অবজেক্টের অ্যাট্রিবিউট সেট করতে পারেন, একটি নতুন পেজ তৈরি করতে পারেন, পেজ অবজেক্ট সেট করতে পারেন, পেজের বর্ণনা সেট করতে পারেন এবং ডকুমেন্টটিকে একটি ফাইল বা মেমরি স্ট্রীমে সংরক্ষণ করতে পারেন।

C++ ব্যবহার করে পিডিএফ-এ ছবি এম্বেড করুন

LibHaru সফ্টওয়্যার ডেভেলপারদের পিডিএফ নথিতে JPEG এবং PNG ছবি এম্বেড করতে সক্ষম করে। API ব্যবহার করে আপনি চিত্রের আকার, প্রস্থ, উচ্চতা, বিট প্রতি উপাদান এবং রঙের স্থান পেতে পারেন। উপরন্তু, আপনি এম্বেড করা ছবির জন্য একটি রঙের মাস্ক এবং মাস্ক ইমেজ সেট করতে পারেন।

C++ API ব্যবহার করে এনক্রিপ্ট করা PDF ফাইল তৈরি করুন

এনক্রিপশন একটি খুব দরকারী প্রক্রিয়া যা গোপন কোডে তথ্য এনকোড করার অনুমতি দেয় যা তথ্যের প্রকৃত অর্থ লুকিয়ে রাখে। ওপেন সোর্স লাইব্রেরি LibHaru সফ্টওয়্যার ডেভেলপারদের কোনো বাহ্যিক নির্ভরতা ছাড়াই এনক্রিপ্ট করা PDF ফাইল তৈরি করতে সক্ষম করে।

C++ এর মাধ্যমে এনক্রিপ্ট করা PDF ফাইল তৈরি করুন

 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;
}
        
 বাংলা