PDA

View Full Version : نحوه انتخاب پرينتر



علی رضائی
جمعه 09 دی 1390, 14:21 عصر
آيا با كد نويسي ميشه Ms Office Document image writer را براي پرينت فايل ورد جاري اتنخاب كرد؟

moein+
جمعه 09 دی 1390, 20:23 عصر
بله؛ خیلی ساده:

SetDefaultPrinter(PChar('Microsoft Office Document Image Writer'));

فقط دو تا نکته:
1- اون اسم پرینتر خیلی مهمه که صحیح باشه کاملاً! (لیست پرینترهای موجود رو می تونید از متغیر سراسری Printer.Printers پیدا کنید، تو کمبو نشون بدید و یا ... که البته تو یونیت Printers هست )
2-بعد این دستور در یونیت WinSpool هست که باید به بخش uses اضافه کنید...

البته با اینکارا شما اون پرینترو به عنوان پرینتر پیش فرض سیستم انتخاب می کنید که حالا تو ورد با QuickPrint با این پرینتر پرینت میشه، (و یا اگر از Automation استفاده میکنید)، پیشنهاد میکنم پرینتر قبلی رو هم ذخیره کنید و بعد از اینکه کارتون تموم شد پیش فرض سیستم رو به همون برگردونید، خیلی ها از اینکه یه برنامه مدام پرینترشون رو عوض کنه خششون نمیاد!

علی رضائی
جمعه 09 دی 1390, 20:44 عصر
خيلي ممنون - مشكل حل شد - فقط نمي دونم چرا وقتي فايل را به Ms Office Document image writer براي پرينت مي فرستم. پنجره save dialog باز مي شه و هدف من كه ذخيره فايل تو يه مسير مشخص بدون دخالت كاربر هست رو خراب مي كنه.
var
PInfo : String;
Device, Driver, Port : array[0..255] of Char; { Printer`s Info }
DeviceMode : THandle;
begin
PInfo := Format('"%s" "%s" "%s"', ['Microsoft Office document Image Writer', Driver, Port]);
ShellExecute(Handle, 'printto', PChar('c:\test.doc'), PChar(PInfo), nil, SW_HIDE);

Mask
شنبه 10 دی 1390, 13:03 عصر
خيلي ممنون - مشكل حل شد - فقط نمي دونم چرا وقتي فايل را به Ms Office Document image writer براي پرينت مي فرستم. پنجره save dialog باز مي شه و هدف من كه ذخيره فايل تو يه مسير مشخص بدون دخالت كاربر هست رو خراب مي كنه.
var
PInfo : String;
Device, Driver, Port : array[0..255] of Char; { Printer`s Info }
DeviceMode : THandle;
begin
PInfo := Format('"%s" "%s" "%s"', ['Microsoft Office document Image Writer', Driver, Port]);
ShellExecute(Handle, 'printto', PChar('c:\test.doc'), PChar(PInfo), nil, SW_HIDE);
این پنجره به این خاطر هست که ، این پرینت یه پرینتر مجازیست و فقط برای شما عملیات تغییر فرمت و ذخیره در فایل را انجام میدهد.
این قضیه یکی از ضعفهای این برنامه هست. چون بنده هم قبلا قصد تبدیل فایلهای ورد رو به Tif با همین روش داشتم.که با باز شدن این پنجره. مجبور به دخالت کاربر میشد.
که پس از چندی تحقیق با روش دیگر فایلهام رو به Tif تغییر فرمت دادم.