当前位置: 首页 > wzjs >正文

网站建设 百度经验营销网络

网站建设 百度经验,营销网络,国家企业年报申报入口官网,深圳建设工程交易服务在 Linux 系统上,想要同时打印到物理打印机并生成 PDF 副本,可以使用 CUPS(通用 Unix 打印系统) 和 虚拟 PDF 打印机 结合的方式。以下是几种可行的方案: 方法 1:使用 CUPS 设置多个打印机(物理…

          在 Linux 系统上,想要同时打印到物理打印机并生成 PDF 副本,可以使用 CUPS(通用 Unix 打印系统)虚拟 PDF 打印机 结合的方式。以下是几种可行的方案:


方法 1:使用 CUPS 设置多个打印机(物理+PDF)

          CUPS(Common Unix Printing System)是 Linux 默认的打印服务,支持同时向多个打印机发送任务。

步骤

  1. 安装 CUPS(如果未安装)
    在大多数 Linux 发行版上,CUPS 默认已安装。如果没有,可以用以下命令安装:

    sudo apt update && sudo apt install cups cups-pdf 

    或(RedHat 系):

    sudo yum install cups cups-pdf 
  2. 启用 CUPS 并设置开机启动

    sudo systemctl enable cups sudo systemctl start cups 
  3. 添加虚拟 PDF 打印机

    lpadmin -p PDFPrinter -E -v cups-pdf:/ -m generic.ppd 
  4. 添加物理打印机(假设打印机名为 HP_LaserJet):

    lpadmin -p HP_LaserJet -E -v ipp://192.168.1.100/ipp -m everywhere 
  5. 创建 CUPS 打印类

    • CUPS 支持打印类(Printer Class),它允许一个打印任务被同时发送到多个打印机。
    lpadmin -p MultiPrint -E -o printer-is-shared=true -v cups-pdf:/ -v ipp://192.168.1.100/ipp 
  6. 设置默认打印机为“MultiPrint”

    lpoptions -d MultiPrint 
  7. 打印测试

    lp /path/to/testfile.pdf 

效果

  • 文档会被同时发送到HP_LaserJet 物理打印机PDF 虚拟打印机
  • 生成的 PDF 默认存放在 /var/spool/cups-pdf/USERNAME/ 目录下。

方法 2:使用 lpr 命令同时打印

        你可以使用 lpr 命令同时将文件发送到多个打印机:

lpr -P HP_LaserJet file.pdf 
lpr -P PDFPrinter file.pdf 

可以把它写入 Shell 脚本,使其自动执行:

#!/bin/bash 
FILE="/path/to/document.pdf" 
lpr -P HP_LaserJet "$FILE" 
lpr -P PDFPrinter "$FILE" 

然后赋予执行权限并运行:

chmod +x print_to_multiple.sh 
./print_to_multiple.sh 

适用场景

  • 适用于需要批量打印并生成 PDF 副本的情况。

方法 3:使用 CUPS-PDF + lp 命令

        CUPS 提供了一个 CUPS-PDF 过滤器,可以自动生成 PDF 文件并打印。

  1. 安装 CUPS-PDF
    sudo apt install cups-pdf 
  2. 启动 CUPS 服务
    sudo systemctl start cups 
  3. 检查是否已添加 CUPS-PDF
    lpstat -p 
    如果 CUPS-PDF 不存在,可以手动添加:
    lpadmin -p PDFPrinter -E -v cups-pdf:/ -m generic.ppd 
  4. 同时打印到多个目标
    lp -d HP_LaserJet /path/to/document.pdf 
    lp -d PDFPrinter /path/to/document.pdf 

默认 PDF 存放路径

  • Ubuntu/Debian: ~/PDF/
  • RedHat 系: /var/spool/cups-pdf/$USER/

方法 4:使用 pdftopdf + lp 自动备份

        如果你已经有 PDF 文件,并且希望在打印时自动生成副本,可以手动复制文件:

FILE="/path/to/document.pdf" 
cp "$FILE" "/path/to/backup/" 
lp -d HP_LaserJet "$FILE" 

适用场景

  • 适用于简单备份,无需虚拟打印机。

方法 5:使用 systemd 监视 /var/spool/cups 自动备份

         如果你的打印机自动将任务缓存到 /var/spool/cups,可以用 systemd 监听文件夹并自动备份 PDF:

  1. 创建 systemd 监听脚本
    sudo nano /etc/systemd/system/printbackup.service 
  2. 写入以下内容
    [Unit] 
    Description=Monitor CUPS Print Queue and Save Copies 
    After=cups.service [Service] 
    ExecStart=/bin/bash -c 'cp /var/spool/cups/d* /path/to/backup/' 
    Restart=always [Install] 
    WantedBy=multi-user.target 
  3. 启用并启动服务
    sudo systemctl enable printbackup 
    sudo systemctl start printbackup 

效果

  • 每当有打印任务时,/var/spool/cups 目录中的打印任务会被复制到 /path/to/backup/,作为 PDF 副本保存。

总结

方法适用情况自动化程度
CUPS 打印类多台打印机(包括 PDF)✅ 完全自动
lpr 手动打印适用于小型任务❌ 需手动
CUPS-PDF + lp适用于有 PDF 需求的用户✅ 自动化
手动复制 PDF适用于文件备份❌ 需手动
systemd 监控打印队列适用于后台自动备份✅ 完全自动

如果你希望完全自动化,推荐:

  1. 使用 CUPS 打印类(方法 1)
  2. 使用 systemd 自动监听(方法 5)

如果只是偶尔打印,可以用:

  • lpr 命令手动打印(方法 2)
  • CUPS-PDF 生成 PDF(方法 3)
http://www.dtcms.com/wzjs/8906.html

相关文章:

  • 深圳 企业 网站建设哪家好外贸独立站推广
  • 怎样做自己公司的网站济南全网推广
  • ui网页设计图seo推广培训费用
  • 产品报价网站建设费用热狗网站排名优化外包
  • 网站怎么做电脑系统如何推广网店
  • 做网站项目需要多少钱seo公司官网
  • 网站建设 网站网站设计公司排行榜
  • 佛山网站建设格式有哪些专门做排行榜的软件
  • 长治网站建设哪家好自助建站系统
  • 赣州有没有做网站的产品推广介绍
  • 网站建设大概价格淮北网站建设
  • wordpress 08影院1.0seo整站优化
  • 口碑好的网站开发公司电话seo排名优化公司价格
  • 做网站ie10缓存成都自然排名优化
  • it培训网站全球外贸采购网
  • 公司网站建设总结报告响应式模版移动优化
  • 单位建设网站申请报告免费的网络营销方式
  • 怎么做一个网站 免费微信视频号小店
  • 全球网站排名哪个搜索引擎能搜敏感内容
  • 外贸网站建设武汉今日国际新闻头条15条简短
  • 网站建设用什么语言开发免费建站模板
  • 网站建设 收费标准厉害的seo顾问
  • 房产类网站制作商官方百度
  • 网站做熊掌号码广州灰色优化网络公司
  • 用织梦做网站有什么公司会要sem 优化价格
  • 网站克隆镜像做关键字seo网站排名优化查询
  • 做网站要学什么软件好网络营销的工具和方法有哪些
  • 织梦网站地图怎么做sitemap.xml淘宝运营培训
  • 大型网站 cms培训机构好还是学校好
  • 源码如何搭建网站网络营销成功案例分析其成功原因