در این جلسه کمی  به جلو میرویم و یک فایل PDF ایجاد خواهیم کرد ابتدا مثال زیر را مشاهد کنید سپس خط به خط کدها را برسی میکنیم:

نتیجه اجرای کد بالا بصورت زیر خواهد بود:

دستور HPDF_Doc: برای اینکه بتوانیم فایل PDF را ایجاد کنیم به یک سند نیاز داریم تا تغییرات را در خود ذخیره کند این کار با کمک تابع HPDF_New صورت میگیرد ورودی اول این تابع یک HPDF_Error_Handler است ما میتوانیم این ورودی را به دو صورت بدهیم یک تابع با مشخصات زیر:

یا تبدیل تابع بصورت زیر:

اگر در برنامه خطایی صورت گیرد تابع اول برای رساندن جزِئِیات خطا بهتر است اگر خود خطا را تشخیص دهید میتوانید از تابع دوم استفاده کنید.

در ورودی دوم تابع HPDF_New  دیتای های کاربر را باید وارد کنیم که به پارامتر void* UserData منتقل میشود که میتوان مقدار NULL  را وارد کرد.

دستور HPDF_Page: سند ما به تنهایی کاری انجام نمیدهد برای اینکه بتوانیم عملیات های مختلفی مانند نوشتن رسم اشکال و.. را انجام دهیم نیاز به یک صحفه داریم از HPDF_Page برای ذخیره صحفه استفاده می کنیم اینکار توسط تابع HPDF_AddPage صورت میگیرد ورودی این تابع تنها یک سند است که از قبل ایجاد کردیم اکنون سند ما دارای یک صحفه ی خالی است مقدار برگشتی  HPDF_AddPage یک HPDF_Page است که در متغیر page ذخیره میشود.

دستور HPDF_Font: برای اینکه بتوانیم یک متن ساده را در فایل PDF بنویسیم قبل از هر گونه کاری باید فونت را مشخص کنیم این کار توسط تابع  HPDF_GetFont صورت می گیرد  این تابع ورودی اول را یک سند دریافت میکند که اگر به هر دلیلی خطایی ایجاد شد به تابع مربوط منتقل شوداین خطا میتواند عدم موجود بودن فونت ، تلاش برای بارگذاری فونت از مسیر داده شده توسط کاربر ، اشتباه نوشتاری ، موجود نبودن نوع رمزنگاری باشد باید دقت کرد که خود کتابخانه 14 فونت پیش فرض را دارد و باید از همین 14 فونت استفاده کنید برای بارگذاری فونت دلخواه تابع دیگری وجود دارد که در ادامه ی این اموزش ها گفته خواهد شد.

ورودی دوم از این تابع نام فونت را باید وارد کنیم و در ورودی سوم باید نوع رمزنگاری را مشخص  کنید میتواند مقدار NULL را دریافت کرد نوع رمزنگاری نادرست تابع Error را فراخوانی خواهد کرد نوع های رمزنگاری را از اینجا  میتوانید مشاهده کنید. 

دستور HPDF_Page_SetWidthوHPDF_Page_SetHeight: با این دو دستور عرض و ارتفاع صحفه را مشخص میکنیم ورودی های اول صحفه مورد نظر که از قبل ایجاد شده است و ورودی های دوم عرض و ارتفاع صحفه را وارد میکنیم.

دستور HPDF_Page_SetFontAndSize: بعد از ایجاد فونت توسط تابع ذکر شده اکنون با این تابع فونت را بر روی صحفه اعمال میکنیم ورودی اول یک صحفه ورودی دوم فونتی را که از قبل ابجاد کردیم ورودی سوم اندازه ی فونت را وارد میکنیم.

دستور HPDF_Page_BeginText: بعد از انجام تمام مراحل بالا اکنون میتوانیم با این تابع نوشتن در فایل PDF را شروع کنیم  باید دقت کنید این تابع باید قبل از نوشتن فراخوانی شود در غیر اینصورت به تابع Error منتقل میشود این تابع امادگی خود را برای نوشتن در صحفه ایجاد شده اعلام میکند.

دستور HPDF_Page_TextOut: متن داده شده را با موقعیت های XوY در صحفه مینویسید.

دستور HPDF_Page_EndText: بعد از پایان نوشتن باید فراخوانی شود تا داده هایی که در حافظه جریان دارند پاک شوند دقت کنید که بعد از این تابع برای نوشتن مجدد باید تابع HPDF_Page_BeginText فراخوانی شود.

دستور HPDF_SaveToFile: در نهایت فایل PDF  را با این تابع ذخیره میکنیم ورودی اول سندی که ایجاد کردیم و اکنون دارای یک صحفه با متن LibraryCpp.blog.ir است ورودی دوم مسیر ذخیره همراه نام و پسوندpdf می باشد.

نکته: نوع هایی مانندHPDF_Doc و.. همگی نوع های امضا نشده از ساختمان داده ای هستند که توسط کلمه کلیدی Typedef ایجاد شدندو انواع داده های مورد نیاز را ذخیره می کنند.