PDA

View Full Version : چاپ فیلدهای باینری



aminzadeh_mojtaba
دوشنبه 17 فروردین 1383, 11:55 صبح
من محتویات چند فایل ورد را در چند فیلد قرار داده ام.فیلدها از نوع باینری blob هستند. حالا می خواهم همه فیلدها را در یک فایل ورد چاپ کنم.
با اینکه گفتن التماس ممنوع ولی با عرض معذرت.
تورو خدا هر که چیزی نوشت حتما با توضیح و ساده وخلاصه یه طوری باشه که من رو چیزفهم کنه.

hr110
دوشنبه 17 فروردین 1383, 12:23 عصر
شما میخواهید چند فایل WORD را با هم ادغام کرده و چاپ کنید و یا اینکه فایلهایی که در رکوردها است را چاپ کنید :idea:

aminzadeh_mojtaba
دوشنبه 17 فروردین 1383, 17:43 عصر
من می خواهم محتویات فیلدهای باینری را دریک فایل چاپ کنم.
به هر حال اگر دو صورتش رل توضیح دهید ممنون می شوم.

hr110
سه شنبه 18 فروردین 1383, 11:04 صبح
اگر بخواهید یک فایل را چاپ کنید باید از این روش استفاده کنید، در این روش تمامی پارامترهای لازم با مقداری برای تنظیمات اولیه آمده است، این تکه برنامه یک فایل را چاپ میکند و شما مجبورید برای چاپ کردن اطلاعات فیلد را در یک فایل ذخیره کنید و سپس با این قطعه برنامه آنرا چاپ کنید:


procedure TForm1.Button1Click(Sender: TObject);
var
WordApp : WordApplication;
WordDoc : WordDocument;
_vFileName : oleVariant;
_vTrue : oleVariant;
_vFalse : oleVariant;
_vEmpty : oleVariant;
_vFormat : oleVariant;
_vRange : oleVariant;
_vCopies : oleVariant;
_vItem : oleVariant;
_vPageType : oleVariant;
_vFromTo : oleVariant;
begin
_vFileName := 'd:\temp\document1.doc';
_vTrue := true;
_vFalse := false;
_vEmpty := '';
_vRange := wdPrintAllDocument;
_vFormat := wdOpenFormatAuto;
_vCopies := 1;
_vItem := wdPrintDocumentContent;
_vPageType := wdPrintAllPages;
_vFromTo := 0;
WordApp := CoWordApplication.Create;
WordApp.Visible := False;
WordApp.DisplayAlerts := wdAlertsNone;
WordApp.ActivePrinter := '\\ManagEP\PLaser12';
WordDoc :=WordApp.Documents.Open(_vFileName,_vFalse,_vTrue ,_vFalse,_vEmpty,_vEmpty,
_vFalse,_vEmpty,_vEmpty,_vFormat);
try
WordDoc.PrintOut(_vFalse,_vFalse,_vRange,EmptyPara m,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyP aram,EmptyParam);
finally
WordDoc.Close(_vFalse,_vFormat,_vFalse);
end;
end;

با این کد برنامه هم میتوانید مقدار یک فیلد را در یک فایل ذخیره کنید:

ADOQuery1.Open;
TBlobField(ADOQuery1.FieldByName('Subjects')).Save ToFile('d:\temp\document1.doc');
ADOQuery1.Close;



برای ادغام چند فایل MSWord هم راهی به نظرم نمیرسد، اگر دوستان این کار را انجام داده اند من را راهنمایی کنند

موفق باشید