如何将.docx和.rtf文件发送到德尔福的"Microsoft Print to PDF"打印机?



我想将现有的docx或rtf文件打印到构建上"Microsoft打印成PDF";打印机我有一个简单的Delphi代码:

uses
Printers;
procedure TfrmMain.Button1Click(Sender: TObject);
var
DeviceMode: THandle;
Device, Driver, Port: array[0..80] of Char;
Printer: TPrinter;
begin
Printer.PrinterIndex := Printer.Printers.IndexOf('Microsoft Print to PDF');
Printer.GetPrinter(Device, Driver, Port, DeviceMode);
Printer.SetPrinter(Device, Driver, 'C:TempTest.pdf', 0);
Printer.BeginDoc;
......... I can use canvas to print simple texts BUT.....
.........? how to print an existing docx or rtf file ?....
Printer.EndDoc;
end;

您只能"打印";TCanvas类支持什么。不幸的是,它不支持呈现docx或rtf文档。

您可以通过使用命令"print"调用ShellExecute来打印RTF或DOCX文件。这将启动相关的应用程序,请求它打印您传递的文档文件。

或者(更好的控制(您可以使用Delphi提供的WORD组件(默认情况下未安装(来自动化WORD,使其加载和打印RTF或DOCX文档。你也可以自动将自己的渲染到文档中,前提是可以用Word来完成(这种情况的可能性很大(。

很久以前,我写了一篇关于从Delphi应用程序中使用Word打印的博客文章。看见http://francois-piette.blogspot.com/2014/02/automate-word-document-print-using.html

相关内容

最新更新