می خواهیم با استفاده از چاپگرهای مجازی نصب شده روی سیستم خود یک فایل Doc را به یک فایل TIF تبدیل یا به عبارت دیگر داخل فایل تصویری چاپ کنیم. یک نمونه عملی، استفاده در سیستم دبیرخانه میتواند باشد. کاربر متن نامه را داخل محیط Word تایپ کرده و هنگامی که نامه را ارسال میکند، گردش کار با این فایل تصویری انجام خواهد شد.
پس از ایجاد پروژه جدید، یک ارجاع از Microsoft.Office.Interop.Word به پروژه خود اضافه میکنیم
در هنگام نصب مجموعه Office میتوانید یک چاپگر مجازی بنام Microsoft Office Document Image Writer را نصب کنید. میخواهیم از آن برای رسیدن به هدفمان استفاده کنیم.
حال یک فایل Word آماده میکنیم.
با استفاده از کدهای زیر میتوان فایل ذخیره شده را به یک فایل تصویری با قالب TIF تبدیل کنیم
private void btnPrint_Click(object sender, EventArgs e)
{
try
{
object varFileName = @"d:\test.doc";
object varFalseValue = false;
object varTrueValue = true;
object varMissing = Type.Missing;
Microsoft.Office.Interop.Word.Application varWord = new
Microsoft.Office.Interop.Word.Application();
varWord.ActivePrinter = "Microsoft Office Document Image Writer";
// varWord.ActivePrinter = "Snagit 11";
// varWord.ActivePrinter = "priPrinter";
// varWord.ActivePrinter = "doPDF v7";
Microsoft.Office.Interop.Word.Document varDoc =
varWord.Documents.Open(ref varFileName, ref varMissing, ref varFalseValue,ref varMissing,
ref varMissing, ref varMissing, ref varMissing, ref varMissing,
ref varMissing, ref varMissing, ref varMissing, ref varMissing,
ref varMissing, ref varMissing, ref varMissing, ref varMissing);
varDoc.Activate();
object PrintToFile = true;
object OutputFileName = @"d:\test.tif";
varDoc.PrintOut(ref varMissing, ref varFalseValue, ref varMissing,
ref OutputFileName, ref varMissing, ref varMissing, ref varMissing,
ref varMissing, ref varMissing, ref varMissing, ref PrintToFile,
ref varMissing, ref varMissing, ref varMissing, ref varMissing,
ref varMissing, ref varMissing, ref varMissing);
varDoc.Close(ref varMissing, ref varMissing, ref varMissing);
varWord.Quit(ref varMissing, ref varMissing, ref varMissing);
}
catch (Exception varE)
{
MessageBox.Show("Error:\n" + varE.Message, "Error message");
}
}
شما میتوانید متناسب با نیاز خود از سایر چاپگرهای مجازی نصب شده استفاده نمایید.
varWord.ActivePrinter = "Snagit 11";
varWord.ActivePrinter = "priPrinter";
varWord.ActivePrinter = "doPDF v7";
نتیجه کار در قالب یک فایل TIF
PRINTDOC.ZIP