DeepSeek 如何生成 PDF 文件?用 Python 输出可检索的中文文本

用 fpdf2 与获准中文字体生成文本 PDF,检查自动换行、搜索、复制和缺字情况。

生成中文 PDF 时,不要把文字截图后塞进文件。本例先将 DeepSeek 的已核对内容保存为 UTF-8 文本,再用 fpdf2 嵌入中文字体、自动换行,输出可以选择和搜索文字的 PDF。

准备输入与运行环境

Python 3.11,执行 python -m pip install fpdf2。准备内容为虚构报告短文的 report.txt,以及你有权嵌入 PDF 的中文 TTF 字体。示例采用 Windows 字体目录的 simhei.ttf;其他系统应改成实际字体路径,并先确认字体许可。

DeepSeek 如何生成 PDF 文件?用 Python 输出可检索的中文文本

给 DeepSeek 的任务说明

请输出可核对的中文报告正文,不虚构数据和来源。我会保存为 report.txt。请给 fpdf2 代码,使用我本地合法字体生成可搜索的文本 PDF,设置边距、自动分页和多行换行;不要把中文当图片,不覆盖已有文件。

在本地运行与检查

将下面代码保存为 example_18.py。进入保存该文件的目录,在终端执行 python example_18.py。代码应由你检查后执行,按实际字段修改。

from pathlib import Path
from fpdf import FPDF

text_path = Path("report.txt")
font_path = Path("C:/Windows/Fonts/simhei.ttf")
out = Path("report.pdf")
if out.exists():
    raise FileExistsError("输出已存在")
if not font_path.is_file():
    raise FileNotFoundError("请将 font_path 改为获准中文 TTF 字体路径")
text = text_path.read_text(encoding="utf-8-sig").strip()
if not text:
    raise ValueError("正文为空")
pdf = FPDF()
pdf.set_margins(15, 15, 15)
pdf.set_auto_page_break(auto=True, margin=15)
pdf.add_font("Chinese", fname=str(font_path))
pdf.add_page()
pdf.set_font("Chinese", size=12)
pdf.multi_cell(w=0, h=8, text=text)
pdf.output(str(out))
print(out.resolve(), "pages", pdf.page_no(), "bytes", out.stat().st_size)

为什么要指定中文字体

PDF 默认的核心字体不能涵盖所有中文字符。fpdf2 支持加入 Unicode 字体并嵌入所需字形;字体不含某个字仍可能缺字,所以要测试正文实际使用的字符。代码里的字体路径存在不等于许可允许任意分发。

长文本与复杂排版

multi_cell 按可用宽度换行,自动分页处理页面高度。图片、表格、标题层级、长网址和页码需要另写布局,不能把整个 Markdown 原文放进来就期待复杂样式被识别。尤其要人工查看换行与页面边缘。

输出后检查而不是只看文件大小

打开 PDF 搜索正文里一个中文短语,并选中复制到纯文本编辑器核对。文件存在且能打开不代表所有汉字都有字形;逐页看有没有方框、缺字、超出边界或空白页。

怎样确认结果正确

用两行短文“演示报告:本月样例数量为 2。以上为虚构格式演示。”应生成至少 1 页 report.pdf。打开后能搜索“演示报告”,复制文字与原文一致;页面中文不应显示方框。用较长测试文本时检查自动换行与分页。

适用边界与常见问题

报告内容是人为写的格式演示,不是真实统计或 DeepSeek 实测输出。代码只处理纯文本,未还原 Word、Markdown 或复杂模板;字体是否可嵌入、文件能否在目标阅读器正确显示需要按实际字体和阅读器核对。

资料依据

接口说明核验日期:2026 年 10 月 1 日。fpdf2 Unicode 字体;fpdf2 文本说明。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/30367.html

赞 (0)
AI小管家的头像AI小管家
Claude 总结文档怎么做?保留页码、证据原句和未说明的问题
上一篇 1天前
Whisper 怎么把中文录音翻成英文?模型选择、命令与译文核对
下一篇 1天前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部