You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Bash脚本从竖线分隔文本生成PDF报告?

从竖线分隔数据生成PDF报告的Bash实用方案

你已经能用awk提取数据生成TXT文件,下面几个工具能帮你快速从TXT转成PDF,无需复杂的PostScript编写:

1. 使用pandoc(最简便通用)

pandoc是全能文档转换工具,支持直接将TXT转PDF,还能轻松调整格式。

  • 安装方式:Debian/Ubuntu用sudo apt install pandoc texlive-latex-base;macOS用brew install pandoc mactex
  • 基本转换命令:
# 假设提取后的文件是data.txt,生成report.pdf
pandoc data.txt -o report.pdf
  • 进阶格式调整(指定页边距、字体、标题):
pandoc -V geometry:margin=1in -V fontfamily=arial -V title="每日数据报告" data.txt -o report.pdf

2. 使用enscript + ps2pdf(轻量快速)

enscript能快速将TXT转成PostScript,再用ps2pdf(Ghostscript自带工具)转PDF,步骤简单:

  • 安装方式:Debian/Ubuntu用sudo apt install enscript ghostscript
  • 直接管道转换,无需生成中间PS文件:
enscript --header='每日数据报告|%D %T|Page %s' --footer='Generated by Bash Script' -p - data.txt | ps2pdf - report.pdf

参数说明:--header和--footer可自定义页眉页脚,-p -表示输出到标准输出,直接传给ps2pdf处理。

3. 使用a2ps + ps2pdf(格式灵活)

a2ps也是TXT转PS的工具,支持多列排版、语法高亮(按需使用):

  • 安装方式:Debian/Ubuntu用sudo apt install a2ps ghostscript
  • 转换命令:
a2ps --center-title="每日数据报告" --footer="Page %s" data.txt -o - | ps2pdf - report.pdf

整合到现有脚本

把转换步骤加到awk提取数据的流程后,示例脚本:

# 先用awk提取竖线分隔数据到data.txt
awk -F'|' '{print "字段1:" $1 "\n字段2:" $2 "\n---"}' input_data.txt > data.txt

# 调用pandoc生成PDF
pandoc data.txt -o daily_report.pdf

内容的提问来源于stack exchange,提问作者Alexis Aymerich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 05:40:41