PDA

View Full Version : ارسال دستور چاپ به نرم افزار سپس چاپگر



mehran6764
جمعه 11 بهمن 1398, 16:47 عصر
پیرو مشکلی که تو این تاپیک (https://barnamenevis.org/showthread.php?559550-%DA%86%D8%A7%D9%BE-%D8%A7%D8%AA%D9%88%D9%85%D8%A7%D8%AA%DB%8C%DA%A9-Label)داشتم و نتونستم راه حلی پیدا کنم یک سوالی برام پیش اومده

آیا امکانش هست با سی شارپ فایلی رو به نرم افزار خاصی تو ویندوز ارسال کنیم و بعدشم هم با پرینتر چاپش کنیم
واضح ترش به این شکل که مثلا" با سی شارپ دستوری بنویسیم که

فایل sample.png رو بوسیله برنامه فتوشاپ پرینت کنیم

the king
جمعه 11 بهمن 1398, 17:11 عصر
پیرو مشکلی که تو این تاپیک (https://barnamenevis.org/showthread.php?559550-%DA%86%D8%A7%D9%BE-%D8%A7%D8%AA%D9%88%D9%85%D8%A7%D8%AA%DB%8C%DA%A9-Label)داشتم و نتونستم راه حلی پیدا کنم یک سوالی برام پیش اومده

آیا امکانش هست با سی شارپ فایلی رو به نرم افزار خاصی تو ویندوز ارسال کنیم و بعدشم هم با پرینتر چاپش کنیم
واضح ترش به این شکل که مثلا" با سی شارپ دستوری بنویسیم که

فایل sample.png رو بوسیله برنامه فتوشاپ پرینت کنیم
راه حلی که در سوال تون مطرح کردید خیلی ربطی به هدفی که دارید نداره چون شما اگر تصویر مورد نظر رو در برنامه تون به هر شیوه ای بسازید با خود برنامه تون می توانید چاپش کنید، فتوشاپ یا هر برنامه دیگری برای چاپ لازمتون نمیشه.
اما در هر صورت :

private void button1_Click(object sender, EventArgs e)
{
var file = @"C:\New Folder\sample.png";
var paintPath = Environment.ExpandEnvironmentVariables("%system" + "root%\\system32\\mspaint.exe");
System.Diagnostics.Process.Start(paintPath, "/pt "" + file + """);
}

mehran6764
جمعه 11 بهمن 1398, 17:43 عصر
راه حلی که در سوال تون مطرح کردید خیلی ربطی به هدفی که دارید نداره چون شما اگر تصویر مورد نظر رو در برنامه تون به هر شیوه ای بسازید با خود برنامه تون می توانید چاپش کنید، فتوشاپ یا هر برنامه دیگری برای چاپ لازمتون نمیشه.
اما در هر صورت :

private void button1_Click(object sender, EventArgs e)
{
var file = @"C:\New Folder\sample.png";
var paintPath = Environment.ExpandEnvironmentVariables("%system" + "root%\\system32\\mspaint.exe");
System.Diagnostics.Process.Start(paintPath, "/pt "" + file + """);
}



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

mehran6764
جمعه 11 بهمن 1398, 19:18 عصر
راه حلی که در سوال تون مطرح کردید خیلی ربطی به هدفی که دارید نداره چون شما اگر تصویر مورد نظر رو در برنامه تون به هر شیوه ای بسازید با خود برنامه تون می توانید چاپش کنید، فتوشاپ یا هر برنامه دیگری برای چاپ لازمتون نمیشه.
اما در هر صورت :

private void button1_Click(object sender, EventArgs e)
{
var file = @"C:\New Folder\sample.png";
var paintPath = Environment.ExpandEnvironmentVariables("%system" + "root%\\system32\\mspaint.exe");
System.Diagnostics.Process.Start(paintPath, "/pt "" + file + """);
}







var file = @"C:\New Folder\test.mpl";
var paintPath = Environment.ExpandEnvironmentVariables("%system" + @"C:\Program Files\BP\NBLabel\NBLabel.exe");
System.Diagnostics.Process.Start(paintPath, "/pt \"" + file + "\"");


اگر برای برنامه های غیر سیستمی اجرا بشه ، مشکل من حل میشه کلاً

the king
جمعه 11 بهمن 1398, 19:24 عصر
var file = @"C:\New Folder\test.mpl";
var paintPath = Environment.ExpandEnvironmentVariables("%system" + @"C:\Program Files\BP\NBLabel\NBLabel.exe");
System.Diagnostics.Process.Start(paintPath, "/pt \"" + file + "\"");


اگر برای برنامه های غیر سیستمی اجرا بشه ، مشکل من حل میشه کلاً
هر برنامه ای سوئیچ های command line متفاوتی داره، من اگه نمیدونستم که Microsoft Paint سوئیچی به نام pt/ برای چاپ داره که اون کد رو نمی نوشتم. برای سایر برنامه ها pt/ ممکنه هیچ معنی و کارکردی نداشته باشه.
بستگی به خود برنامه ای داره که بهش فرمان میدید، حالت کلی و عمومی نداره. حیلی از برنامه ها اصلا هیچ دستوری از command line قبول نمی کنند و ارسال مقدار بهشون هیچ تاثیری در عملکردشون نداره.