آموزش : ساختن PDF با استفاده از PHP

naeim_crack

Active Member
سلام
به نظرم این با حال آمود گفتم ملت حالشو ببرن
ساخت اسناد PDF توسط کتابخانه PDFlib انجام می شود. برای استفاده از extension مربوط به PDFlib باید به فایل PHP.INI رفته و آن را فعال کنید.(این کار با برداشتن سمیکالن ';' از ابتدای آن انجام می شود. توجه کنید که مسیر مربوط به extension ها را در PHP.INI درست وارد کرده باشید!)
ساخت یک سند PDF در چهار مرحله انجام می شود:

1. ساخت یک Handle برای کار با سند
2. تعیین فونت ها و رنگ های سند
3. انجام عملیات نوشتن و رسم بر روی Handle با استفاده از توابع از پیش تعریف شده
4. ذخیره سند نهایی
حالا مرحله به مرحله به ساخت یک سند PDF ساده می پردازیم:

در مرحله اول باید یک Handle برای سند خود درست کنیم که این کار توسط تابع ()pdf_new انجام می شود:
کد:
$pdf = pdf_new();
برای انجام عملیات مختلف بر روی سند،از این Handle استفاده خواهیم کرد. بعد از این کار،باید نام فایل PDF خود را تعیین کنیم که این کار توسط تابع ()pdf_open_file انجام می شود:
کد:
pdf_open_file($pdf, "HelloWorld.pdf");
وقتی فایل جدید را ساختید،می توانید داخل آن به ساخت صفحات PDF بپردازید:
کد:
// start a new page (A4)
pdf_begin_page($pdf, 595, 842);
با استفاده از تابع ()pdf_begin_page اندازه صفحات را مشخص می کنیم.واحد اندازه ها در اینجا Points می باشد که هر Point برابر ۱.۷۲ اینچ می باشد. برعکس این تابع، تابع ()pdf_end_page می باشد که بعد ازتمام شدن کار نوشتن صفحات،آنها را می بندد.

در مرحله دوم برای نوشتن در صفحات ابتدا نوع فونت مورد نظر را انتخاب می کنیم.این کار توسط تابع ()pdf_find_font انجام می شود.این تابع ۳ پارامتر دارد که اولی نوع فونت را مشخص می کند،دومی encoding مورد استفاده را معلوم می کند و سومی ،یک متغیر Boolean می باشد که مشخص می کند که آیا فونت در سند مربوطه ضمیمه شود یا خیر.بعد از این کار با استفاده از تابع ()pdf_setfont و مشخص کردن اندازه فونت، از فونت استفاده می کنیم :
کد:
$arial = pdf_findfont($pdf, "Arial", "host", 1); pdf_setfont($pdf, $arial, 10);
در مرحله سوم،حالا که فونت مشخص شد، با به کارگیری تابع ()pdf_show_xy و دادن مختصات و متن مورد نظر،آن رادر صفحه نمایش می دهیم:
کد:
pdf_show_xy($pdf, "Hello,World!",50, 750);
pdf_show_xy($pdf, "This is My first PDF document!", 50,730);
بعد از این که کار نوشتن در صفحه تمام شد، با استفاده از تابع()pdf_end_page صفحه را می بندیم:
کد:
pdf_end_page($pdf);
در مرحله چهارم، سند نهایی را با استفاده از تابع ()pdf_close ذخیره می کنیم:
کد:
pdf_close($pdf);
به همین راحتی یک سند بسیار ساده PDF ساختیم. توابع کتابخانه ای بسیار زیادی وجود دارند که اجازه انجام عملیات مختلف روی یک سند PDF را به ما می دهند.

اينم يه مثال :
کد:
<?php
// create handle for new PDF document
$pdf = pdf_new();
// open a file
pdf_open_file($pdf, "HelloWorld.pdf");
// start a new page (A4)
pdf_begin_page($pdf, 595, 842);
// get and use a font object
$arial = pdf_findfont($pdf, "Arial", "host", 1); pdf_setfont($pdf, $arial, 20);
// print text
pdf_show_xy($pdf, "Hello,World!",50, 750);
pdf_show_xy($pdf, "This is My first PDF document!", 50,730);
// end page
pdf_end_page($pdf);
// close and save file
pdf_close($pdf);
?>

پايان
 

Mikhak

Active Member
نعيم جون دستت درد نكنه خيلي باهال بود خداييش كه خيلي به درد بخور بود
------------------
سينا
 

taher007

Member
این pdf برای Hello world نوشتن خوبه! ولی برای ساختن یک فایل - مثلا از روی فایل تکست یا خوندن یک text area - خیلی دردسر داره و به این سادگی ها انجام پذیر نیست...

البته شاید درست شده باشه! ولی یادم میاد حتی Word wrap رو هم انجام نمیداد!!
(اشتباه که نمیکنم؟)

به هر حال ممنون از آموزشتون...
 

guilanict

Member
من يه سي ام اس دارم كه بعضي اطلاعات رو بصورت pdf در مياره ولي مشكل اينه عربي رو ساپورت مي كنه و گ چ پ ژ رو نمي نويسه.
چيكار كنم؟
مرسي.
 

guilanict

Member
عزيز منظورم اينه بجاي پ يا گ يا بقيه نقطه مي ذاره.

ضمنا سي ام اس يعني سيستم مديريت محتوا . (براي اقا عماد)
 

sungirl

New Member
سلام
به درد بخور بود بسيار .
مي شه نحوه ويرايش يك فايل pdf رو هم با php توضيح بدين.
ممنون
 
من همین الان این صفحه رو خوندم
خیلی ممنون که برای مردم دهکده ی جهانی آموزش می زاری ... بازم از این کارا بکن
متشکر
 
آقا برنامه مامبو هم همین ویژگی رو داره ولی فقط برای زبان انگلیسی
چطور میشه برای فارسی تغییرش داد
 

guilanict

Member
این رو من هم پرسیدم اما . . .
بیشتر برنامه ها از یک برنامه مجزا بعنوان ماژول ساخت این فرمت استفاده می کنند ایکاش یکی بیاد و اینو برای ساپرت فارسی هم تغییر بده.
 

جدیدترین ارسال ها

بالا