怎么用delphi 把Excel,Word文件中生成到PDF文件
你好,OFFICE 07以上版本另存为-选择PDF格式就行了,如果是2007以下的版本,请看下面。
1.PDFFactory Pro虚拟打印机,安装后,在任何文档中,选择打印时,选择打印机为pdfFactoryPro,就能生成PDF文件,并可以进行安全设置。
2.SmartPrinter(Doc Pdf xls to pdf/tiff/bmp/jpg/png)一款大家非常熟悉的经典产品,专为转换文件而研发的高品质打印驱动,以运行稳定、转换速度快和图像质量高而著称,通过虚拟打印技术可以完美的将任意可打印文档转换成 PDF、TIFF、JPEG,BMP、PNG、EMF、GIF、TXT格式。
3.雪莹DocConvert虚拟打印转换。
雪莹DocConvert是一款文档转化工具,它通过虚拟打印的技术将任何文档转化为PDF,JPG,BMP,TIFF,PCX,PNG等等文档格式。
4.EasyPrint(虚拟打印机) V2.1,本软件实现的功能是把指定文档打印到文件,成为标准的BMP位图,实现无纸打印的功能。
主要应用在需要把一些文件打印后扫描再处理,或者一些需要打印效果的软件的插件。
例如:把WORD文件打印到BMP文件,然后进行处理5、可以用金山的WPS软件安装后用来转换,还有可以用PDFtoWord软件进行转换6、打开Word2007文档,单击左上角的office按钮,选择“另存为”,如果没有安装加载项,可以去“下载”,运行安装“Save as PDF or XPS.exe”,提示安装成功后,再单击左上角的office按钮,选择“另存为”,选择“PDF或XPS”,单击“发布”,等一会就会完成。
delphi读取WORD文档每一页的内容
展开全部 uses ComObj,WordXp;var wordapp, WordDoc, PageRange: Variant; sContext: string; i, nPageCounts, nStart, nEnd : Integer;begin wordapp := CreateOleObject('Word.Application'); try wordapp.Visible := True; if dlgOpen1.Execute = False then Exit; WordDoc := wordapp.Documents.Open(dlgOPen1.FileName); //文档总页数 nPageCounts := wordapp.Selection.Information[wdNumberOfPagesInDocument]; //如果只有一页 那么全选就OK了 if nPageCounts = 1 then begin wordapp.Selection.WholeStory; mmo1.Lines.Add('=============第'+IntToStr(nPageCounts)+'页内容:==================='); mmo1.Lines.Add(wordapp.Selection.Text); Exit; end; nStart := -1; nEnd := -1; //循环获取文档页中的内容 for i := 1 to nPageCounts do begin //定位到第i页 PageRange := wordapp.Selection.GoTo(wdGoToPage, wdGoToNext, IntToStr(i)); //如果第i页是最后一页 那么直接将光标移动到最后 并输出内容 if i = nPageCounts then begin wordapp.Selection.EndKey(wdStory,wdExtend); sContext := WordApp.Selection.Range.Text; mmo1.Lines.Add('=============第'+IntToStr(i)+'页内容:==================='); mmo1.Lines.Add(sContext); Exit; end; //取第i页的页首位置作为开始位置 nStart := wordapp.Selection.Start; //定位到i+1页 PageRange := wordapp.Selection.GoTo(wdGoToPage, wdGoToNext, IntToStr(i+1)); //取第i+1页的页首位置作为结束位置 nEnd := wordapp.Selection.Start; //根据开始位置和结束位置确定文档选中的内容(第i页的内容) WordDoc.Range(nStart,nEnd).Select; sContext := WordDoc.Range.Text; //输出内容 mmo1.Lines.Add('=============第'+IntToStr(i)+'页内容:==================='); mmo1.Lines.Add(sContext); nStart := -1; nEnd := -1; end; finally wordapp.Quit; end;end;昨天没有测试好 这个应该没有问题了吧 试一下吧
在delphi中,如何打开事先做好的WORD文档(已经完成的数据连接...
这个问题难不住我~1.首先你可以使用ole 调用word ,将word内容在delphi界面显示出来。
2.然后利用word本身的‘宏’命令。
选择‘录制新宏’。
3.在宏录制状态下做你想做的操作(将字段插入word中你想要的任何地方)。
操作完毕后选择停止录制。
4.打开刚刚录制的‘宏’。
选择编辑,把VBA命令转换为delphi代码。
(其实你应该去大富翁看看,那里有很多答案)
怎么样在 Delphi 中打开一个word文件
delphi 调用 word 打开一个文档,兼容性比较好的办法,是使用 oleObject 来调用本机安装的 word,示例代码如下:procedure TForm1.Button1Click(Sender: TObject);var MSWord: Variant;begin MSWord := CreateOLEObject('Word.Application');//连接Word MSWord.Documents.Open(FileName:='D:\Temp\temp.doc', ReadOnly:=True); //打开外部Word文档 MSWord.Visible := 1;//是否显示文件编辑 MSWord.ActiveDocument.Range(Start:=0, End:=0);//开始改变的启止位置 MSWord.ActiveDocument.Range.InsertAfter(Text:='myvc');//在Word中增加字符'myvc' MSWord.ActiveDocument.Range.InsertParagraphAfter; MSWord.ActiveDocument.Range.Font.Size := 72;//字体大小 MSWord.ActiveDocument.Range.Font.Name := 'Arial';//字体名称...
如何在Delphi中显示和存取Word文档之急上加
一. 定义word应用程序,文档对象,比如:wordApp: OleVariant;wordDoc: OleVariant;二. 打开word文档wordApp := CreateOleObject('Word.Application');wordDoc := WordApp.Documents.Open(FileName:=filename,ReadOnly:= false, Revert:=True, Visible:= True);WordApp.Visible := TRUE;三.表格插入数据WordDoc.Tables.Item(TbIndex).cell(cellrow,cellcol).Range.InsertAfter(conStr);四.在指定行写数据WordDoc.Paragraphs.Item(16).Range.InsertAfter('abcd');五.指定字符位置插入数据MyRange: OleVariant;MyRange := wordDoc.Range(Start:=0,End:=10);MyRange.InsertAfter('abcd'+#13);六.文件保存wordDoc.SaveAs(filename);七.连接word(联系:二打开文档)//测试当前是否运行了wordtryv := getactiveoleobject(word.application);except//未运行则运行之v := createoleobject(word.basic);end;r /> try//连接到wordwordapp.connect;exceptbeep;messagedlg(不能生成文档,请确认是否安装了word 2000!, mterror, [mbok], 0);abort;end;//八.复制打开的word的内容WordApp := CreateOleObject('Word.Application'); //创建word对象WordApp.Documents.open(file1); //打开一个word文档wordapp.visible:=false; //是否让打开的word文档显示出来wordapp.activedocument.select; //选取打开的word文档中全部内容wordapp.selection.copy; //拷贝选取的内容memo1.PasteFromClipboard; //把拷贝的内容粘贴到richedit中WordApp.Quit; //关闭对象九.粘贴至word(粘贴板)WordApp := CreateOleObject('Word.Application'); //创建word对象WordApp.Visible:= True ;WordApp.Documents.Add;WordApp.Documents.Item(1).Range.paste;十.新建文档:格式:WordDocuments.Add(Template,NewTemplate,DocumentType,Visible)Template: 使用模板的名称,NewTemplate: 新建文档的类型,True表示为模板,False表示为文档DocumentType: 文档类型,默认为空白文档Visible: 打捞的窗口是否可见举例:Doc_Handle:=Word_Ole.Documents.Add(Template:='C:/Temlate.dot',NewTemplate:=False);十一.连接已打开文档WordDocument.ConnectTo(WordApplication.Documents.Item(ItemIndex));
如何将Delphi报表的内容导出到WORD中(报表
展开全部你没有说具体报表,只能泛泛而谈。
问得不明确,想认真回答也做不到。
一般而言,报表工具都有导出功能,可以导出为常见的文档格式,有些直接支持xls和word之类,有些可以导出为HTML或RTF之类,这是商品化报表工具的必备功能。
你可以直接将之导出为通用文档格式,然后在Delphi中调用word的读取功能,word的识别功能强大,一般就搞定了。
以fastreport为例,它不直接支持word,但支持excel,所以可以先导出为excel,再用excel另存为HTML,再用word打开HTML即可。
// 导出到 Excel 文档frxXLSExport1.ShowDialog := false;frxXLSExport1.FileName:= 'Filename1.xls';frxReport1.PrepareReport(true);frxReport1.Export(frxXLSExport1);至于delphi中直接操作excel和word的方法,网上有不少例子,自己找一下。
...
怎样在DELPHI程序里操作WORD文档
使用函数 ShellExecutefunction ShellExecute(hWnd: HWND; Operation, FileName, Parameters,Directory: PChar; ShowCmd: Integer): HINST; stdcall;必须引用shellapi.pas单元:uses ShellAPI;begin...ShellExecute(Handle,'open','winword','D:\test.doc','',SW_SHOWNORMAL); // winword 报错就写成 word...end;
delphi中把查询出来的数据导入word中?
我将我的商用《旅行社管理系统》的 发团通知 部分奉献给您,望对您有所帮助。
procedure TFrmMain.N327Click(Sender: TObject);varFWord :Variant;FDoc :Variant;strSQL :string;begin//首先创造对象,如果出现异常就做出提示try FWord := CreateOleObject('Word.Application'); //WOrd程序的执行是否可见,值为false时,程序在后台运行。
FWord.Visible := True;except messagebox(0,'创建word对象失败!','警告',MB_OK+MB_ICONINFORMATION); exit;end;strSQL :='select * From "B_T_Company_Infor"';with dm.ClientDataSet_Temp dobegin if Active then Active:=False; CommandText:=strSQL; Open;end;//现在打开的Word中,创建一个新的页面,然后在其中键入需要的内容try FDOC :=FWord.Documents.Add; {对于Word的新页面} FWord.Selection.Font.Name :='宋体'; FWord.Selection.Font.Size :=20; FWord.Selection.Font.Bold :=2; FWord.Selection.paragraphs.Alignment := wdAlignParagraphCenter; FWord.Selection.TypeText(dm.ClientDataSet_Temp.Fields[0].AsString); FWord.Selection.Typeparagraph;//换行 FWord.Selection.Typeparagraph; FWord.Selection.paragraphs.Alignment := wdAlignParagraphLeft; FWord.Selection.Font.Size :=12; FWord.Selection.Font.Bold :=0; FWord.Selection.TypeText(' 现将我社组团部的'); FWord.Selection.TypeText(' '); FWord.Selection.TypeText('团计划发出,各地请按下列行程做接待,并及早落实'+'团队计划和选派优秀导游员。
各地代订住宿、火车票、机票务必安排好接待,日程'+'如有变更,及时与下站接待社或本社联系,各地接团时请举【'+ dm.ClientDataSet_Temp.Fields[0].AsString+'】接站牌。
'); FWord.Selection.Typeparagraph;//换行 FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('请速回传真确认,谢谢合作!'); FWord.Selection.Typeparagraph;//换行 FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('人数:'); FWord.Selection.TypeText('人数:'); FWord.Selection.TypeText('国籍:'); FWord.Selection.TypeText('国籍:'); FWord.Selection.TypeText('等级:'); FWord.Selection.TypeText('等级:'); FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('这里是团队安排'); FWord.Selection.Typeparagraph;//换行 FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('TO: '); FWord.Selection.TypeText('12345678901234567890'); FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('TEL: '); FWord.Selection.TypeText('12345678901234567890'); FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('FAX: '); FWord.Selection.TypeText('12345678901234567890'); FWord.Selection.Typeparagraph;//换行 FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('______________________________________________'); FWord.Selection.Typeparagraph;//换行 FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('FROM: '); FWord.Selection.TypeText(dm.ClientDataSet_Temp.Fields[0].AsString); FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('TEL: '); FWord.Selection.TypeText(dm.ClientDataSet_Temp.Fields[3].AsString); FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('FAX: '); FWord.Selection.TypeText(dm.ClientDataSet_Temp.Fields[4].AsString); FWord.Selection.Typeparagraph;//换行Except on e: Exception do Messagebox(0,Pchar(e.Message),'警告',MB_OK+MB_ICONINFORMATION);end;//保存文档FWord.Caption := '组团计划保存在: '+ExtractFilePath(application.ExeName)+'Reports\GroupPlan.doc';FDOC.SaveAS(ExtractFilePath(application.ExeName)+'Reports\GroupPlan.doc');if messagebox(0,'组团计划已经保存成功!'+chr(13)+chr(13)+'单击【确定】退出Word,返回到程序中!','您确信要退出Word吗?',MB_YESNO+MB_ICONINFORMATION+MB_DEFBUTTON2)=IDYES thenbegin FWord.Quit; FWord := Unassigned;end;end;-----------------------------Delphi与Word之间的融合技术(1)一、VBA代码含义Microsoft Word是一个集成化环境,是美国微软公司的字处理系统,但是它决不仅仅是一个字处理系统,它集成了Microsoft Visual Basic,可以通过编程来实现对Word功能的扩展。
Microsoft Visual Basic在word中的代码即Word的宏,通过编写Word宏,可实现一些文档处理的自动化,如实现文档的自动备份、存盘等,可扩展Word文档的功能,因此,能够充分利用Word的特性,甚至使Word成为自己软件的一部分。
Word的宏既有有利的一部分,因为它能够帮助我们实现文档的自动化,但是Word的宏也不是纯粹的有利,有时它可能危害我们的文档、计算机系统甚 至网络,从最开始的Taiwan NO1宏病毒到现在的Melissa宏病毒,从最开...
转载请注明出处51数据库 » delphi 打印word文档