【发布时间】:2021-09-06 14:46:12
【问题描述】:
我在TWebBrowser 中有一个 HTML 文档。我需要将此文档转换为 PDF 文件并将其作为邮件附件发送。我找到的方法是使用 PDF 打印机打印TWebBrowser 内容。有没有办法在不显示对话框的情况下始终使用 PDF 打印机(后台进程)?考虑到该功能由 3 台计算机使用,并且并非所有计算机都默认设置相同的打印机。
我目前正在使用此代码,但我遇到了问题,因为计算机没有相同的打印机索引
procedure TfmNavegador.btnImprimirClick(Sender: TObject);
const
OLECMDID_PRINT = $00000006;
OLECMDEXECOPT_PROMPTUSER = $00000001;
var
vIn, vOut: OleVariant;
begin
wbNotificacion.ControlInterface.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, vIn, vOut) ;
end;
【问题讨论】:
-
如果您不想显示打印对话框,那么您应该使用
OLECMDEXECOPT_DONTPROMPTUSE作为第二个参数,而不是您当前使用的OLECMDEXECOPT_PROMPTUSER。您可以在this 文章中阅读有关使用 TWebBrowser 打印的更多信息。但我不确定是否可以选择特定的打印机来执行此操作。