PDA

View Full Version : سوال: چاپ مستقیم صفحه استایل بندی شده در سایز A5



molana_rumy
یک شنبه 27 مرداد 1392, 17:32 عصر
سلام خدمت دوستان
من میخوام دوتا فاکتور استایل بندی شده که بعضی اطلاعاتش از دیتابیس خونده میشه رو روی کاغذ A5 چاپ کنم.

اول صفحه فاکتور رو با جاوا اسکریپت چاپ کردم اما مقادیر background که در css بهش دادم چاپ نمیشه و ثانیا کاربر (اپراتور نرم افزار) باید در هنگام چاپ ، نوع کاغذ رو تعیین کنه (A4 یا A5 یا ...) و آخر اینکه پنجره مربوط به چاپ نشون داده میشه که من میخوام درخواست مستقیما به پرینتر بره و پرینتر هم کاغذ A5 رو بکشه . (یخورده زیادی شیرین شد)

بعد خواستم از php_printer و printer_set_option استفاده کنم که اون هم احتمالا بخاطر ناشناخته بودن پرینتر در اینترنت امکان پذیر نیست و اینکه ورژن فایل php_printer.dll که با wamp یا xampp سازگار باشه پیدا نکردم تا در لوکال باهاش کار کنم.

بعد از TCPDF برای تبدیل به pdf استفاده کردم (تا سایز و background درست بشه) ولی اولا نمیشه margin و ... بهش داد (فقط table میشه کار کرد که اونطور که من میخوام در نمیاد) و ثانیا باز هم اپراتور باید نوع کاغذ را مشخص کنه.

دوستان دیگه چه راهی برای پرینت مستقیم روی کاغذ A5 وجود داره ؟

با تشکر

molana_rumy
سه شنبه 29 مرداد 1392, 19:08 عصر
دوستان کسی نیست ؟

Unique
سه شنبه 29 مرداد 1392, 20:18 عصر
سلام دوست عزیز

این مشکلی هست که خیلی ها باهاش سر و کله زده اند و مشکلات زیادی داشته اند. راستش راه حل های زیادی هستش. در مورد دیالوگ شما بسته به مرورگر باید کار های متفاوتی بکنید اما چون معمولا این پروژه ها برای اشخاص بخصوصی نوشته میشه من معمولا مشتری را مجاب میکنم از firefox استفاده کنه و بعدش این extension (https://addons.mozilla.org/en-us/firefox/addon/js-print-setup/) را نصب کنه و دیگه میتونم کل دیالوگ را با js مدیریت کنم.

اما راه حل های دیگه ای که برای کنترل خروجی میشه استفاده کرد امکانات جدید html و مباحث canvas هست. روی اینترنت من نگشتم اما باید کتابخونه هایی برای report گرفتن و این داستان ها باشه که باید جستجو کنید و از نسخه های پولی یا رایگانش استفاده کنید.

از این افزونه (http://code.google.com/p/wkhtmltopdf/) برای pdf ساختن و خروجی گرفتن میتونید استفاده کنید و بعید میدونم مشکلات unicode و غیره را داشته باشه.

MMSHFE
چهارشنبه 30 مرداد 1392, 14:40 عصر
ضمناً میتونید با استفاده از CSS و خاصیت media استایل خاصی رو فقط برای print تنظیم کنید و توی اون، ابعاد رو برحسب سانتیمتر و میلیمتر و... بدین و با کمک خاصیتهای مختلف CSS، تنظیم کنید که صفحه با رسیدن به اندازه خاصی، بطور خودکار break بخوره و کلی کارهای دیگه. بعد هم یک دکمه بگذارین که صفحه رو چاپ کنه و بطور خودکار، موقع چاپ اون قالبی که برای چاپ انتخاب کردین، اعمال میشه.

molana_rumy
سه شنبه 05 شهریور 1392, 16:06 عصر
ممنون دوستان

با راهنمایی شما تا حد زیادی مشکل حل شد. فقط یه چیز دیگه:

چطور میشه به پرینتری که هم A4 میکشه و هم A5 میشه فهموند که A5 رو بکشه ؟

دوم اینکه اگه (برای سرعت بیشتر) دوتا فاکتور A5 رو توی یک صفحه طراحی کنیم (در ادامه هم دیگه) چطور میتونیم از پرینتر بخوایم که فاکتور اول (نصفه بالایی) رو در یک برگ و فاکتور دوم رو در برگه بعدی چاپ کنه ؟

توی نت و فروم js printer setup خیلی گشتم اما جوابی برای دو سوال بالا پیدا نکردم

با تشکر