首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何用后台进程从TWebBrowser打印PDF文件?

从TWebBrowser打印PDF文件的方法是通过后台进程实现。具体步骤如下:

  1. 首先,确保已经在Delphi中创建了一个TWebBrowser组件,并加载了PDF文件。
  2. 创建一个后台进程,用于执行打印操作。可以使用Delphi中的TThread组件来实现。
  3. 在后台进程中,使用TWebBrowser的OleObject属性获取PDF文件的Ole对象。
  4. 调用Ole对象的Print方法来打印PDF文件。可以使用OleVariant类型来传递打印参数,如打印机名称、打印份数等。
  5. 在后台进程中,等待打印操作完成后,关闭TWebBrowser组件,并释放相关资源。

下面是一个示例代码:

代码语言:txt
复制
unit PrintPDF;

interface

uses
  System.Classes, Vcl.OleCtrls, SHDocVw;

type
  TPrintPDFThread = class(TThread)
  private
    FWebBrowser: TWebBrowser;
  protected
    procedure Execute; override;
  public
    constructor Create(WebBrowser: TWebBrowser);
  end;

implementation

{ TPrintPDFThread }

constructor TPrintPDFThread.Create(WebBrowser: TWebBrowser);
begin
  inherited Create(True);
  FWebBrowser := WebBrowser;
end;

procedure TPrintPDFThread.Execute;
var
  OleObject: OleVariant;
begin
  // 获取PDF文件的Ole对象
  OleObject := FWebBrowser.OleObject;

  // 打印PDF文件
  OleObject.Print;
end;

end.

使用示例:

代码语言:txt
复制
procedure TForm1.Button1Click(Sender: TObject);
var
  PrintThread: TPrintPDFThread;
begin
  PrintThread := TPrintPDFThread.Create(WebBrowser1);
  PrintThread.Start;
end;

这样,通过后台进程从TWebBrowser打印PDF文件的操作就完成了。请注意,以上代码仅为示例,具体实现可能需要根据实际情况进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PDF编辑器怎么如何轻松编辑PDF文件

身边很多小伙伴都在为PDF文件编辑而发愁,最近我自己也收到了一份PDF图纸文件,由于格式的特性,比较难编辑,PDF编辑器怎么如何轻松编辑PDF文件?小编带大家学习一种简单的方法。...点击打开按钮将我们需要编辑的PDF文件选择添加进来,下图是已经打开PDF文件之后的页面。 PDF文件打开后,在左侧展现出了PDF文件所有页面的一个缩略图,可随时切换到需要编辑的页面。...鼠标点击选择页面即可切换,只是打开文件鼠标的状态还只是手掌形状的,没有获的编辑内容的权限。 在该界面的菜单栏中间有一个为内容编辑的选项,点击这个选项,鼠标就会由之前的手掌形状变换为箭头形状。...箭头形状的鼠标去点击页面中的内容,所选内容会出现蓝色的编辑框,在蓝色编辑框中的内容,就可以随意编辑了。...页面上的菜单栏包括点击内容直接展示出来的功能都是协助编辑PDF文件的功能,PDF文件编辑包含了文本、图形、字形等,布局固定、页面美观等多个维度,以上方法都可以完成,想学习怎么给PDF文件加密?

2.1K30
  • 阅读资料新姿势:如何正确打印网页内容为PDF文件

    前言 自己有些资料喜欢在电纸书上看,类似于ipad,通过电脑或者无线的方式导入文件,可以阅读一些PDF论文或者PDF书籍。...但有时候很多博客或者其他网站上有很多优秀的资料,这时候想要把网页上的内容打印下来放入平板中看,但总有些格式问题,其实花一点小心思就可以解决,从而实现完美打印。...(有时候将资料存在平板上静下心来阅读,才是真正收获的开始) 如何正确打印 打印PDF的步骤很简单,以Chrome谷歌浏览器为例,我们在页面上直接右键点击打印即可。...: 这样的原因是因为打印的时候会自动调整当前网页中的各种内容格式放到一起,如果东西太多就会加载不过来,这时我们需要删减一些东西 通过调整打印页码删除内容中不需要的部分,比如评论部分 删掉网页内容中不需要的装饰...,如下方的网页左面一栏作者介绍就没有必要,直接通过F12网页调试器选择删除即可 删除之后经过调整就可以直接打印了,在阅读器上阅读自己收集的文章吧~

    61240

    零代码编程:KimichatPDF文件中批量提取图片

    一个PDF文件中,有很多图片,想批量提取出来,可以借助kimi智能助手。...在借助kimi智能助手中输入提示词: 你是一个Python编程专家,要完成一个网页爬取Python脚本的任务,具体步骤如下: 打开文件夹:E:\6451 读取里面的PDF文件; 将PDF文件里面的图片都保存到...E:\6451 注意:图片体积较大,占用内存高,要将PDF文件中的图片分批次提取,而不是一次性提取所有图片 kim生成的Python源代码: import fitz # PyMuPDF import os...{folder_path} does not exist.") else: # 读取文件夹中的所有PDF文件 for filename in os.listdir(folder_path): if filename.lower...().endswith('.pdf'): pdf_path = os.path.join(folder_path, filename) doc = fitz.open(pdf_path) # 逐页提取图片

    12110

    独家 | 手把手教你如何用PythonPDF文件中导出数据(附链接)

    本文介绍了在提取出想要的数据之后,如何将数据导出成其他格式的方法。 有很多时候你会想用PythonPDF中提取数据,然后将其导出成其他格式。...通过pdf2txt.py导出文本 伴随着PDFMiner一起的pdf2txt.py命令行工具会从一个PDF文件中提取文本并且默认将其打印至标准输出(stdout)。...在这个例子中,我们PDF文件名创建了我们顶层的元素。然后在它的下层增加了一个页(Pages)元素。下一步是for循环,在此循环中我们PDF中提取每一页然后保存想要的信息。...我没法使其运行于我的PDF样本。在Ned Batchelder的博客上有一篇文章谈到了一点儿如何PDF中提取JPG图片。代码如下: ? 这同样对我使用的PDF文件无效。...你可以代之以Popen,但是那将基本上在后台运行命令进程。最后,我们打印出输出路径下的细节,以确定所有的图片都被提取进了其中。 还有一些网络上的其它文章引用了一个叫做Wand 的库,你也许可以试一试。

    5.4K30

    2021-01-27:如何文件服务器复制到本地,什么命令?

    scp –r linux登录账户@服务器IP:服务器上要拷贝文件的完整路径 window上存放文件的路径,现如下,文件拷贝到D盘: scp –r root@123.209.99.5:/var/opt/mssql...rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。优点就是不用再开一个sftp工具登录上去上传下载文件。 sz:将选定的文件发送(send)到本地机器。...rz:运行该命令会弹出一个文件选择窗口,本地选择文件上传到Linux服务器。 3.使用 SFTP 进行连接 因为 SFTP 是基于 SSH 协议的,所以默认的身份认证方法与 SSH 协议保持一致。...如果连接地址存在 path 并且 path 不是一个目录,那么 SFTP 会直接服务器端取回这个文件。 4.rsync。...rsync可以实现scp的远程拷贝(rsync不支持远程到远程的拷贝,但scp支持)、cp的本地拷贝、rm删除和"ls -l"显示文件列表等功能。

    3.7K10

    sap后台作业管理sap打印管理

    另外还可以指定执行的服务器组(后台job执行的服务器组可以sm61来配置)。 Scheduled状态的job是创建了但是还没有release,这种状态的job是不会跑的。...Released状态的job在启动条件满足后会启动,Ready就是启动条件满足后,系统开始为该job分配但尚未分配合适的后台进程的一个中间状态,Active代表这个job正在运行当中,换言之,其相应的后台进程正在运行...job log是保存在\usr\sap\SID\SYS\global日志文件JOBLOG中的,在某些特定的情况下,日志文件访问问题会导致所有的job cancel,在DI上出现这种问题的时候...sapnote 8928 delievery classs: 打印standard printer authorization group: 打印机权限管理,不需要可以略过(我没有配置过) Model...关于F类型打印机,下面贴一个SDN关于PDF1打印机配置的BLOG。这个包含了F类型打印机配置,同时给出了不用第三方软件提供将报表转pdf格式文件得解决方案。已测试通过。

    1.6K20

    【SAP技巧】SAP后台作业管理SAP打印管理

    另外还可以指定执行的服务器组(后台job执行的服务器组可以sm61来配置)。 Scheduled状态的job是创建了但是还没有release,这种状态的job是不会跑的。...Released状态的job在启动条件满足后会启动,Ready就是启动条件满足后,系统开始为该job分配但尚未分配合适的后台进程的一个中间状态,Active代表这个job正在运行当中,换言之,其相应的后台进程正在运行...job log是保存在\usr\sap\SID\SYS\global日志文件JOBLOG中的,在某些特定的情况下,日志文件访问问题会导致所有的job cancel,在DI上出现这种问题的时候...sapnote 8928 delievery classs: 打印standard printer authorization group: 打印机权限管理,不需要可以略过(我没有配置过) Model...关于F类型打印机,下面贴一个SDN关于PDF1打印机配置的BLOG。这个包含了F类型打印机配置,同时给出了不用第三方软件提供将报表转pdf格式文件得解决方案。已测试通过。

    1.9K31

    2019年常见的Linux面试题及答案解析,哪些你还不会?

    如何忽略大小写? 如何查找不含该串的行? 16、Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的? 17、怎么使一个命令在后台运行?...把停下的后台任务在后台执行起来用什么命令? 21、终止进程什么命令? 带什么参数? 22、怎么查看系统支持的所有信号? 23、搜索文件什么命令? 格式是怎么样的?...15、Grep 命令有什么如何忽略大小写? 如何查找不含该串的行? 答案: 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。...(usually IO) R 正在运行,或在队列中的进程 S 处于休眠状态 T 停止或被追踪 Z 僵尸进程 W 进入内存交换(内核 2.6 开始无效) X 死掉的进程 17、怎么使一个命令在后台运行?...答案: 把后台任务调到前台执行 fg 把停下的后台任务在后台执行起来 bg 21、终止进程什么命令? 带什么参数?

    1.5K00

    linux中50个有用命令汇总

    10.tree:以树状方式递归打印文件文件夹。 11.pstree:递归地打印带有子进程的正在运行的进程。 12. command: bash 命令前的空格,不记录在历史中。...19.screen:会话中分离和重新连接长时间运行的进程。 20.file: 输出关于文件类型的信息。 21.id: 打印用户和组 ID。 22....27.look:字典中检查英文单词,以防混淆,直接shell中查找。 28.yes: 继续打印一个刺,直到给出中断指令。 29.factor: 给出一个十进制数的所有可能因数。...31.tac: 以相反的顺序打印文件的内容。 32.strace: 一个调试工具。 33.disown -a && exit Command:在后台运行命令,即使在终端会话关闭后也是如此。...48.find -size +100M: 这个命令组合,列出所有大小为 100M 或更大的文件,文件夹。 49.pdftk: 将许多 pdf 文件连接成一个的好方法。

    1.4K20

    2022年Java秋招面试求职必看的Linux面试题

    内核提供系统核心服务,如进程管理,进程的调度,虚拟文件系统,内存的管理等等。...15、Grep 命令有什么如何忽略大小写? 如何查找不含该串的行?是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。...1、不可中断状态:进程处于睡眠状态,但是此刻进程是不可中断的。不可中断,指进程不响应异步信号。图片17、怎么使一个命令在后台运行?一般都是使用 & 在命令结尾来让程序自动运行。...把停下的后台任务在后台执行起来用什么命令?把后台任务调到前台执行 fg 把停下的后台任务在后台执行起来 bg21、终止进程什么命令? 带什么参数?...linux 命令’hash’管理着一个内置的哈希表,记录了已执行过的命令的完整路径,该命令可以打印出你所使用过的命令以及执行的次数。

    86420

    使用python多线程加载模型并测试

    应用场景: 使用线程可以把占据长时间的程序中的任务放到后台去处理。...用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度 程序的运行速度可能加快 在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了...但可以想到的是一次多个batch进行测试,然后记录结果。...).pdf python就业班学习视频,入门到实战项目 2019最新《PyTorch自然语言处理》英、中文版PDF+源码 《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF...Learning Yearning 中文翻译稿 蚂蚁金服2018秋招-算法工程师(共四面)通过 全球AI挑战-场景分类的比赛源码(多模型融合) 斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏

    1.5K30

    实用运维脚本分享

    [a-zA-Z]{2,3}" > ans.txt #纯文本形式下载网页 lynx -dump www.baidu.com > plain.txt #只打印HTTP头部信息,无须远程下载文件 curl....txt和.pdf文件 find . \( -name "*.txt" -o -name "*.pdf" \) -print # -exec command {} \;是连用的,所有符合的都会放置在...{}中,去执行command #将文件分割成多个大小为10kb的文件 split -b 10k data.file #打印两个文件的交集 comm A.txt B.txt -3 | sed...shell环境已知的列表中删除任务的进程标识;也就是说,jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息 jobs ##查看后台运营的进程号 jobs -p ##查看现在被终止或者退出的进程号...#将一个在后台暂停的命令,变成继续执行 bg 123 ##该命令可以在你退出帐户/关闭终端之后继续运行相应的进程

    23441

    PDF.js专题

    文件路径都在这里设置 2.2 我想只要满足下面两个要求就算大家可以用了 1.打开任意想打开的pdf文件(这就是github上的FAQ的第一个问题) 2.能够通过.net后台动态的控制与打开pdf有关的参数.../doc/09.pdf 非常容易通过Visual Studio控制后台代码动态拼出这样一个url字符串。...2.3 补充 viewer的demo程序示例的toolbar工具比较全,第二个是打印第三个是下载,如果我们只想做在线阅读,不许用户打印或者下载文档的话,把这两个按钮隐藏掉或者删掉即可,在viewer.html...如果在viewer解析和渲染的过程中尝试用adobe reader之类的工具打开那个pdf文件,系统会出现第二个iexplore.exe *32的进程,有时是AcroRd32.exe *32进程,两个进程加一起几乎耗去了...Can I load a PDF fromanother server (cross domain request)?能否其它服务器读取pdf文件(跨域访问)?

    21.1K112

    Node.js把HTML转成PDF格式

    它本质上是一个可以 Node.js 运行的浏览器。如果你读过它的文档,其中首先提到的就是你可以 Puppeteer 来生成页面的截图和PDF。优秀!这正是我们想要的。...注意:page.pdf 方法接收 options 对象,你可以使用 'path' 选项将文件保存到磁盘。如果未提供路径,则 PDF 将不会被保存到磁盘,而是会得到缓冲区。(稍后我将讨论如何处理它。)...方案 3 + 1:CSS 打印规则 可能有人认为开发人员的角度来看,简单地使用 CSS 打印规则很容易。没有 NPM 模块,只有纯 CSS。但是在跨浏览器兼容性方面,它的表现如何呢?...有一篇很棒的文章总结了你可以打印规则做什么,以及它们有什么问题,包括浏览器兼容性。 考虑到所有因素,如果你想从不那么复杂的页面生成 PDF,CSS打印规则非常有效。...CSS打印规则:如果你的用户受过足够的教育,知道如何把页面内容打印文件,并且你的页面相对简单,那么它可能是最轻松的解决方案。正如你在我们的案例中所看到的,事实并非如此。 打印快乐!

    6.6K30

    Linux常用实用运维脚本命令

    [a-zA-Z]{2,3}" > ans.txt #纯文本形式下载网页 lynx -dump www.baidu.com > plain.txt #只打印HTTP头部信息,无须远程下载文件 curl....txt和.pdf文件 find . \( -name "*.txt" -o -name "*.pdf" \) -print # -exec command {} \;是连用的,所有符合的都会放置在{}...中,去执行command  #将文件分割成多个大小为10kb的文件 split -b 10k data.file #打印两个文件的交集 comm A.txt B.txt -3 | sed 's/^\t...,查看前5个进程  -pcpu表示降序  pcpu升序 ps aux --sort=-pcpu | head -5 ##-f 树结构显示进程的层次关系,父子进程情况下 ps -f --forest...;也就是说,jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息 jobs ##查看后台运营的进程号 jobs -p ##查看现在被终止或者退出的进程号 jobs -n ##kill

    4K40

    「Linux」40道题先拿下

    方括号“[charset]”可替代 charset 集中的任何单个字符,如[a-z],[abABC] Grep 命令有什么如何忽略大小写?如何查找不含该串的行?...(命令后可以不追加空格) 利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进程的信息? ? 哪个命令专门用来查看后台任务? job -l 把后台任务调到前台执行使用什么命令?...把停下的后台任务在后台执行起来用什么命令? 把后台任务调到前台执行 fg。把停下的后台任务在后台执行起来 bg 终止进程什么命令? 带什么参数? ? 搜索文件什么命令? 格式是怎么样的? ?...使用命令compgen ­-c,可以打印出所有支持的命令列表。 ? 如果你的助手想要打印出当前的目录栈,你会建议他怎么做? 使用Linux 命令dirs可以将当前的目录栈打印出来。 ?...linux命令 hash 管理着一个内置的哈希表,记录了已执行过的命令的完整路径, 该命令可以打印出你所使用过的命令以及执行的次数。 ? 哪一个bash内置命令能够进行数学运算。

    1.2K10

    2022 最新 Linux 面试题

    15、Grep 命令有什么如何忽略大小写? 如何查找不含 该串的行? 答案: 是一种强大的文本搜索工具 ,它能使用正则表达式搜索文本 ,并把匹 配的行打印 出来。...Uninterruptible( usually IO) R 正在运行, 或在队列中的进程 S 处于休眠状态 T 停止或被追踪 Z 僵尸进程 W 进入内存交换( 内核 2.6 开始无效) X 死掉的进程...把停下的后台任务 在后台执行起来用什么命令? 答案: 把后台任务调到前台执行 fg 把停下的后台任务在后台执行起来 bg 21、终止进程什么命令? 带什么参数?...答案: 使用命令 compgen -c, 可以打印出所有支持的命令列表。 38、如果你的助手想要打印出当前的目录栈,你会建议他怎么 做?...答案: linux 命令 ’hash’管理着一个内置的哈希表,记录了已执行过的命令的完整路径, 该命令可以打印出你所使用过的命令以及执行的次数。 41、哪一个 bash 内置命令能够进行数学运算。

    9510

    2019年常见的Linux面试题及答案解析,哪些你还不会?

    (行号、单词数、字节数) 15、Grep 命令有什么如何忽略大小写? 如何查找不含该串的行? 16、Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?...把停下的后台任务在后台执行起来用什么命令? 21、终止进程什么命令? 带什么参数? 22、怎么查看系统支持的所有信号? 23、搜索文件什么命令? 格式是怎么样的?...15、Grep 命令有什么如何忽略大小写? 如何查找不含该串的行? 答案: 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。...(usually IO) R 正在运行,或在队列中的进程 S 处于休眠状态 T 停止或被追踪 Z 僵尸进程 W 进入内存交换(内核 2.6 开始无效) X 死掉的进程 17、怎么使一个命令在后台运行?...答案: 把后台任务调到前台执行 fg 把停下的后台任务在后台执行起来 bg 21、终止进程什么命令? 带什么参数?

    2.7K31
    领券