پرینت گرفتن فایل متنی فارسی از طریق cmd
سلام
وقت بخیر
من یک فایل متنی فارسی دارم که باید از طریق cmd آن را پرینت بگیرم، فایل هم از نوع یونیکد ذخیره شده است اما بعد از اجرای دستور print در cmd در خروجی کاراکترهای فارسی علامت سوال چاپ می شوند. طبق سرچ هایی که انجام دادم code page ان را با دستور chcp به 65000 و 65001 نیز تغییر دادم اما باز هم علامت سوال چاپ میشود.
حتی فایل را به نوع utf-8 تبدیل کردم و بعد پرینت گرفتم باز هم کاراکترهای ناخوانا چاپ میشود. دستور پرینت هم که استفاده می کنم به صورت زیر است:
print /d:\\Ip my computer\printershare file_path
با تشکر
5 پاسخ
بله تا اونجایی که بنده میدونم انشاالله نتیجه میگیرید
سلام اگه میشه فایل رو به ANSI تبدیل کن
موفق باشید
اگر از powershell بجای cmd میتونید استفاده کنید. در powershell ise از دستور write-host استفاده کنید.
سلام
اگر فایل رو تبدیل به ansi کنم که محتویات فایل نیز ؟ میشود. و در خروجی چاپی هم ؟ چاپ میشود.
سلام
من فایل یونیکد رو از طریق فرمان زیر به ansi تبدیل کردم:
cmd a c type c:\test.txt>c:\test-ansi.txt
و سپس با دستور زیر آن را پرینت گرفتم:
print /d:\\IP address of my system\printer_name c:\text-ansi.txt
اما باز هم علامت سوال چاپ کرد.
نکته ای که هست من این کار رو فقط میخوام از طریق cmd انجام بدهم و نکته ی دیگری که وجود دارد من این فایل رو از طریق دیتابیس SQL میخواهم چاپ کنم. (با کمک دستور xp_cmdshell)
در حالت عادی با کمک فرمان notepad /p filepath میشه فایل رو فارسی چاپ کرد اما وقتی از طریق sql این دستور اجرا میشود برنامه notepad به عنوان سرویس اجرا میشود و نمی تواند عملیات چاپ را انجام دهد.
عملیات چاپ فارسی فایل از طریق SQL رو با کمک power shell و دستور out-printer انجام دادم اما مشکلی که وجود دارد زمان چاپ خیلی زیاد است (حدود 15 ثانیه ) طول میکشد فایل چاپ شود.
اگر دوستان راهکار بهتری داشته باشند و راهنمایی بفرمایند ممنون میشوم.