رفتن به مطلب

افزونه PDF برای وردپرس + پشتیبانی زبان فارسی


پست های پیشنهاد شده

سلام

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

یه سری توضیحات در مورد افزونه :

  1. به راحتی میشه براش فونت جدید تعریف کرد .
  2. همینطور برای صفحاتی که نیاز دارید تبدیل به PDF بشه ، قالب (HTML + CSS ) داره ، که به راحتی می تونید با دستکاری قالب ها نسخه ی PDF رو شخصی سازی کنید .
  3. سرعت بسیار بالایی برای ساخت PDF داره .
  4. کلاس mpdf پیشفرش زبان فارسی رو پشتیبانی میکند ولی نویسنده ی افزونه گزینه زبان فارسی رو برای افزونه قرار نداده ،که خودم به افزونه اضاف کردم
  5. این نسخه ای که قرار میدم هم زبان فارسی براش افزوده شده و همینطور به طور استاندارد به فارسی ترجمه کردم (ترجمه ها ممکنه بعضی جاها گنگ بشه ، بهم گوشزد کنید تا اصلاح کنم ) .
  6. توی بخش ادمین آمار دانلود PDF ها رو می تونید مشاهده کنید
  7. برای پست هایی که رمزگزاری شده هم به راحتی جواب میده
  8. می تونید برای برخی از پست ها تون نام پی دی اف رو سفارشی تعیین کنید
  9. برای برخی از پست ها و صفحات می تونید قابلیت PDF رو غیر فعال کنید .
  10. برای دست کاری قالب های PDF به پوشه ی wp-content\wp-mpdf-themes برید و CSS و PHP قالب ها رو شخصی سازی کنید .

البته به نویسنده افزونه برای افزودن این قابلیت ها ایمیل زدم ولی هنوز جواب ندادن ، پس فعلا آپدیت نکنید تا اینکه نویسنده تغییرات رو اعمال کنه

در آینده چند تا از فونت های استاندارد فارسی رو آماده میکنم و در همین صفحه قرار میدم .

لین افزونه اصلی : http://wordpress.org...lugins/wp-mpdf/

لینک به کلاس mpdf : http://www.mpdf1.com/mpdf/index.php

توضیحات و قابلیت های افزونه به زبان انگلیسی :


Print WordPress posts as PDF. Optional with Geshi highlighting. It also has support for password protected posts and only logged in users can print post as pdf support.
Note: The development repository has move to Github: https://github.com/fkrauthan/wp-mpdf

دانلود افزونه : دانلود

نصب و افزودن دکمه PDF : بعد از نصب افزونه کد زیر رو توی حلقه وردپرس اضاف کنید تا دکمه ی پرینت براتون نشون داده بشه :


<?php if(function_exists('mpdf_pdfbutton')) mpdf_pdfbutton(); ?>

همواره موفق باشید ، مشکلات کار با افزونه رو بهم اطلاع بدید

wp-mpdf.rar

  • امتیاز 11
لینک به ارسال

من روی دو تا وردپرس نصب کردم اما هر بار وقتی روی دکمه کلیک می کنم این ارور رو میده، اشکال از کجاست؟


Warning: require(/home/x/domains/x/public_html/dl/wp-content/plugins/wp-mpdf/../../wp-mpdf-themes/default.php) [function.require]: failed to open stream: No such file or directory in /home/mobserir/domains/x/public_html/dl/wp-content/plugins/wp-mpdf/wp-mpdf.php on line 425
Fatal error: require() [function.require]: Failed opening required '/home/x/domains/x/public_html/dl/wp-content/plugins/wp-mpdf/../../wp-mpdf-themes/default.php' (include_path='.:/usr/local/php5/lib/php') in /home/x/domains/x/public_html/dl/wp-content/plugins/wp-mpdf/wp-mpdf.php on line 425

ویرایش شده توسط ahadto
  • امتیاز 2
لینک به ارسال

تنها افزونه ای که ظاهرا با حروف فارسی هیچ مشکلی نداره

http://wordpress.org/plugins/pdf24-posts-to-pdf/screenshots/

که امکان هرجور شخصی سازی من جمله قرار دادن متا تگ utf-8 رو در header صفحات مده

درواقع کاملا با کدهایی که از کاربر می گیره صفحه را می سازه هر فونت و هر سایز و شکلی که بهش معرفی کرده باشید و هم قابلیت ارسال مستقیم به ایمیل ذاره و هم ذخیره فایل

در ضمن با قرار دادنش در سایدبار می تونید از صفحات آرشیو و دسته بندی و بایگانی کاربران یکجا pdf بسازید (اگر قابلیت ها رو به ایران مسدود نکرده باشه)

من روی دو تا وردپرس نصب کردم اما هر بار وقتی روی دکمه کلیک می کنم این ارور رو میده، اشکال از کجاست؟


Warning: require(/home/x/domains/x/public_html/dl/wp-content/plugins/wp-mpdf/../../wp-mpdf-themes/default.php) [function.require]: failed to open stream: No such file or directory in /home/mobserir/domains/x/public_html/dl/wp-content/plugins/wp-mpdf/wp-mpdf.php on line 425
Fatal error: require() [function.require]: Failed opening required '/home/x/domains/x/public_html/dl/wp-content/plugins/wp-mpdf/../../wp-mpdf-themes/default.php' (include_path='.:/usr/local/php5/lib/php') in /home/x/domains/x/public_html/dl/wp-content/plugins/wp-mpdf/wp-mpdf.php on line 425

دسترسی پوشه افزونه را 777 بگذارید و تست کنید

  • امتیاز 6
لینک به ارسال

آقای فخار این افزونه هیچ مشکلی با فارسی نداره ، کاملا تست شده هست ، ;)

در مورد ارور که داده ، به نظرم فایل های قالب به درستی انتقال داده نشدند ، توی افزونه یه پوشه هست به نام themes پوشه ره به wp-content انتقال بدید اسمش رو هم به wp-mpdf-themes تغییر بدید ، مشکل حل میشه ،

نتیجه رو همینجا بگید

ویرایش شده توسط mehotkhan
  • امتیاز 2
لینک به ارسال

آقای فخار این افزونه هیچ مشکلی با فارسی نداره ، کاملا تست شده هست ، ;)

در مورد ارور که داده ، به نظرم فایل های قالب به درستی انتقال داده نشدند ، توی افزونه یه پوشه هست به نام themes پوشه ره به wp-content انتقال بدید اسمش رو هم به wp-mpdf-themes تغییر بدید ، مشکل حل میشه ،

نتیجه رو همینجا بگید

من که هرچی می گیردم اینجور چیزی نمی بینم، دقیقا تو کدوم پوشه هست؟
لینک به ارسال

شما پوشه تمز رو از افزونه حذف کرده بودید، از مخزن وردپرس دانلود کردم و کاری رو که گفتید انجام دادم، خروجی پی دی اف می گیره اما تمامی متن و عنوان سایت که تو پاورقی چهارخونه چهارخونه هست! اما وقتی کپی می کنیم توی word مثلا، متن رو نشون میده، فک کنم یونیکدش مشکل داشته باشه

البته عنوان سایت و عنوان پست رو درست نشون میده، مشکل دیگش هم اینه که چپ به راست هست

ویرایش شده توسط ahadto
  • امتیاز 1
لینک به ارسال

اوه ! باید دوباره آپدیت کنم ، اصلا حواسم نبود بهش !

توی تنظیمات افزونه کد صفحه رو روی fa قرار بدید ، مشکل حل میشه ،

نتیجه رو بهم اعلام کنید

مشکل چپ به راست هم توی قالب ، تگ بادی direction:rtl رو قرار بدید مشکل حل میشه ،

مشکلات دیگه ای بود بگید تا توی آپدیت دوباره رفع کنمشون

  • امتیاز 2
لینک به ارسال

دمت گرم رفیق، خیلی افزونه به درد بخوری هست، اگه تا چند روز دیگه اینجور چیزی رو معرفی نمی کردید مطمئنا می دادم یکی برام طراحی کنه چون خیلی بهش نیاز داشتم!

سه تا سؤال:

1. اینکه چجور می تونم اون نوشت های انگلیسی آخرش رو به فارسی ترجمه کنم؟ از کحا باید اقدام کنم

2. آیا راهی هست که بشه تاریخهایی رو که توش به کار رفته شمسی کرد (فک کنم دردسر داشته باشه)

3. تأثیر کلی افزونه توی سایت چگونه هست، آیا کدهای جاوا و ... زیادی داره و توی لود صفحه تأثیر گذاره

با تشکر

  • امتیاز 2
لینک به ارسال

توی تگ بادی فایل default.css اضافه کردم اما باز هم چپ به راسته، همچنین کش افزونه رو خالی کردم اما پی دی اف های جدیدی هم که می سازه همین مشکل رو دارند

  • امتیاز 1
لینک به ارسال

خب ، رسیدیم به بخش خوب کار ، کار هایی که میگی بسیار راحت و آسون هست ، تمام این کار ها رو توی بخش قالب افزونه میشه انجام داد ، کد زیر رو نگاه کن :


<?php


$pdf_output = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xml:lang="en">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>' . get_bloginfo() . '</title>
</head>
<body xml:lang="en">
<bookmark content="'.htmlspecialchars(get_bloginfo('name'), ENT_QUOTES).'" level="0" /><tocentry content="'.htmlspecialchars(get_bloginfo('name'), ENT_QUOTES).'" level="0" />
<div id="header"><div id="headerimg">
<h1><a href="' . get_settings('home') . '/">' . get_bloginfo('name') . '</a></h1>
<div class="description">' . get_bloginfo('description') . '</div>
</div>
</div>
<div id="content" class="widecolumn">';

if(have_posts()) :
if(is_search()) $pdf_output .= '<div class="post"><h2 class="pagetitle">Search Results</h2></div>';
if(is_archive()) {
global $wp_query;
if(is_category()) {
$pdf_output .= '<div class="post"><h2 class="pagetitle">Archive for the "' . single_cat_title('', false) . '" category</h2></div>';
} elseif(is_year()) {
$pdf_output .= '<div class="post"><h2 class="pagetitle">Archive for ' . get_the_time('Y') . '</h2></div>';
} elseif(is_month()) {
$pdf_output .= '<div class="post"><h2 class="pagetitle">Archive for ' . get_the_time('F, Y') . '</h2></div>';
} elseif(is_day()) {
$pdf_output .= '<div class="post"><h2 class="pagetitle">Archive for ' . get_the_time('F jS, Y') . '</h2></div>';
} elseif(is_search()) {
$pdf_output .= '<div class="post"><h2 class="pagetitle">Search Results</h2></div>';
} elseif (is_author()) {
$pdf_output .= '<div class="post"><h2 class="pagetitle">Author Archive</h2></div>';
}
}

while (have_posts()) : the_post();

$cat_links = "";
foreach((get_the_category()) as $cat) {
$cat_links .= '<a href="' . get_category_link($cat->term_id) . '" title="' . $cat->category_description . '">' . $cat->cat_name . '</a>, ';
}
$cat_links = substr($cat_links, 0, -2);
// Create comments link
if($post->comment_count == 0) {
$comment_link = 'No Comments &#187;';
} elseif($post->comment_count == 1) {
$comment_link = 'One Comment &#187;';
} else {
$comment_link = $post->comment_count . ' Comments &#187;';
}
$pdf_output .= '<bookmark content="'.the_title('','', false).'" level="1" /><tocentry content="'.the_title('','', false).'" level="1" />';
$pdf_output .= '<div class="post">
<h2><a href="' . get_permalink() . '" rel="bookmark" title="Permanent Link to ' . the_title('','', false) . '">' . the_title('','', false) . '</a></h2>';

// no authors and dates on static pages
if(!is_page()) $pdf_output .= '<p class="small subtitle">' . get_author_name($post->post_author) . ' &middot; ' . date('l, F jS, Y', mpdf_mysql2unix($post->post_date)) . '</p>';
$pdf_output .= '<div class="entry">' . wpautop($post->post_content, true) . '</div>';

if(!is_page() && !is_single()) $pdf_output .= '<p class="postmetadata">Posted in ' . $cat_links . ' | ' . '<a href="' . get_permalink() . '#comment">' . $comment_link . '</a></p>';
// the following is the extended metadata for a single page
if(is_single()) {
$pdf_output .= '<p class="postmetadata alt">
<span>
This entry was posted on ' . date('l, F jS, Y', mpdf_mysql2unix($post->post_date)) . ' at ' . date('g:i a', mpdf_mysql2unix($post->post_date)) . ' and is filed under ' . $cat_links . '
You can follow any responses to this entry through the <a href="' . get_bloginfo('comments_rss2_url') . '">Comments (RSS)</a> feed.';

if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) {
// Both Comments and Pings are open
$pdf_output .= ' You can leave a response, or <a href="' . trackback_url(false) . '" rel="trackback">trackback</a> from your own site.';
} elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) {
// Only Pings are Open
$pdf_output .= ' Responses are currently closed, but you can <a href="' . trackback_url(false) . '" rel="trackback">trackback</a> from your own site.';
} elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) {
// Comments are open, Pings are not
$pdf_output .= ' You can skip to the end and leave a response. Pinging is currently not allowed.';
} elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) {
// Neither Comments, nor Pings are open
$pdf_output .= ' Both comments and pings are currently closed.';
}

$pdf_output .= '</span>
</p>';
}
$pdf_output .= '</div> <!-- post -->';
endwhile;

else :
$pdf_output .= '<h2 class="center">Not Found</h2>
<p class="center">Sorry, but you are looking for something that isn\'t here.</p>';
endif;
$pdf_output .= '</div> <!--content-->';

$pdf_output .= '
</body>
</html>';
?>

اگه با قالب های وردپرس کار کرده باشی ، متوجه میشی که این کد یه حلقه وردپرس هست ! پس هر کدی که برای طراحی قالب به کار میره رو توی این حلقه بزاری ، به راحتی جواب میده ، فقط کافی هست کد ها رو بدونی چی هستن ،

در مورد فشار ، بررسی که کردم فشار خاصی نداره ، جاوا و سی اس اس اصلا به قالب اضاف نمی کنه ، فقط موقعی که دکمه پرینت رو میزنی ، آی دی نوشته رو میگیره ، میده کلاس mpdf و با استفاده از قالبی که برای پی دی اف تعیین کردی ، فایل پی دی اف رو میسازه ، تمیز و ساده ;)

ویرایش شده توسط mehotkhan
  • امتیاز 3
لینک به ارسال

توی تگ بادی فایل default.css اضافه کردم اما باز هم چپ به راسته، همچنین کش افزونه رو خالی کردم اما پی دی اف های جدیدی هم که می سازه همین مشکل رو دارند

ببخشید حواسم نبود اشتباه وارد کردم، چپ به راست درست شد

خب ، رسیدیم به بخش خوب کار ، کار هایی که میگی بسیار راحت و آسون هست ، تمام این کار ها رو توی بخش قالب افزونه میشه انجام داد ، کد زیر رو نگاه کن :


x

اگه با قالب های وردپرس کار کرده باشی ، متوجه میشی که این کد یه حلقه وردپرس هست ! پس هر کدی که برای طراحی قالب به کار میره رو توی این حلقه بزاری ، به راحتی جواب میده ، فقط کافی هست کد ها رو بدونی چی هستن ،

در مورد فشار ، بررسی که کردم فشار خاصی نداره ، جاوا و سی اس اس اصلا به قالب اضاف نمی کنه ، فقط موقعی که دکمه پرینت رو میزنی ، آی دی نوشته رو میگیره ، میده کلاس mpdf و با استفاده از قالبی که برای پی دی اف تعیین کردی ، فایل پی دی اف رو میسازه ، تمیز و ساده ;)

آره خیلی جالبه، باورم نمی شد به این راحتی بشه خروجی پی دی اف گرفت :)

ویرایش شده توسط ahadto
  • امتیاز 1
لینک به ارسال

اینجوری تغییرات خیلی راحتتره، ولی متأسفانه نمی دونم چجوری اون قسمتهایی که مربوط به تاریخ هست رو ویرایش کنم تا شمسی بشه

  • امتیاز 1
لینک به ارسال

برای راستچین شدن مطلب توی css آی دی #content رو پیدا کن بهش direction: rtl;text-align: right; بده ، بشه مثل کد زیر :


#content {
margin-left: auto;
margin-right: auto;
border: none;
direction: rtl;
text-align: right;
}

تغییراتی که لازم هست رو بگو ، با هم درستش کنیم ;)

  • امتیاز 2
لینک به ارسال

دستت درد نکنه، همون بادی کار راستچین رو حل کرد ;)

فقط اگه یه زحمتی بکشی در مورد این تاریخهاش یه کمک کنی ممنونت میشم، اینکه چجور توی فایل پی اچ پی تغییر بدیم تا شمسی کنه تاریخها رو

  • امتیاز 1
لینک به ارسال

سلام ، کد زیر رو پیدا کن :


This entry was posted on ' . date('l, F jS, Y', mpdf_mysql2unix($post->post_date)) . ' at ' . date('g:i a', mpdf_mysql2unix($post->post_date)) . '

تبدیلش کن به


This entry was posted on ' . the_time('l j F Y ') . ' at ' . the_time('i : H'). '

متن های انگلیسی رو هم خودت ترجمه کن دیگه :D

نتیجه کارت رو بهم بگو ، تست نکردم خودم :S

  • امتیاز 3
لینک به ارسال

آقا من این تاریخها رو کلا حذف کردم، به درد من که نمی خورند و صفحه رو هم مشغول می کنند، فقط میشه بگید که چجوری میشه اون فاصله بین عنوان سایت و عنوان مطلب رو حذف کرد، اندازه چند خط بینشون فاصله خالی هست

لینک به ارسال
  • 1 ماه بعد...

افزونه بسیار خوبی هست

من راستچینش کردم...

فقط یه مشکل دارم باهاش که خیلی اذیت میکنه...

اعداد رو بر عکس نمایش میده!!!

یعنی مثلا 300 رو 003 نشون میده!

فایل پیوست رو مشاهده کنید...

راه حل چیه؟؟؟

لیست-جامع-محصولات.pdf

لینک به ارسال

سلام

به انجمن خوش اومدین دوست عزیز

با فونت معمولی مثل تاهوما هم همین مشکل رو داره؟

  • امتیاز 1
لینک به ارسال

افزونه رو تست نکرده بودم

پس این فونت پیش فرضش هست؟

در تنظیماتش جایی برای تغییر فونت نداره؟

لینک به ارسال

افزونه رو نصب و تست می کنم

نتیجه رو اینجا میگم

البته اگر از دوستان کسی راه حلش رو داره که چه بهتر

  • امتیاز 1
لینک به ارسال
  • 2 هفته بعد...
×
×
  • اضافه کردن...