PdfItDown 使用教程
PdfItDown Convert Everything to PDF 项目地址: https://gitcode.com/gh_mirrors/pd/PdfItDown
1. 项目介绍
PdfItDown 是一个 Python 包,它可以将多种文件格式转换为 PDF。支持的文件格式包括 Markdown、PowerPoint、Word、Excel、HTML、文本格式(CSV、XML、JSON)以及图像文件(PNG、JPG)。PdfItDown 依赖于 markitdown、markdown_pdf 和 img2pdf 等工具来实现文件转换。
2. 项目快速启动
安装
首先,确保您的环境中已安装 Python。然后使用以下命令安装 PdfItDown:
python3 -m pip install pdfitdown
命令行使用
安装完成后,您可以使用命令行工具进行文件转换。以下是基本的使用方法:
pdfitdown -i INPUTFILE -o OUTPUTFILE [-t TITLE]
-i INPUTFILE
:指定要转换的输入文件路径。-o OUTPUTFILE
:指定输出的 PDF 文件路径。-t TITLE
:为输出的 PDF 设置标题,默认为 "PDF Title"。
例如,将 README.md 转换为 README.pdf 并设置标题为 "README":
pdfitdown -i README.md -o README.pdf -t "README"
Python 脚本使用
您也可以在 Python 脚本中使用 PdfItDown。以下是如何在脚本中调用 PdfItDown 的示例:
from pdfitdown.pdfconversion import Converter
converter = Converter()
converter.convert(file_path="business_grow.md", output_path="business_growth.pdf", title="Business Growth for Q3 in 2024")
converter.convert(file_path="logo.png", output_path="logo.pdf")
多文件转换
PdfItDown 支持一次性转换多个文件。
命令行多文件转换
使用以下命令进行多文件转换:
pdfitdown_cli -i "test0.png,test1.csv" -o "testoutput0.pdf,testoutput1.pdf"
如果不指定输出路径,PdfItDown 会自动推断输出路径:
pdfitdown_cli -i "test0.png,test1.csv"
Python 脚本多文件转换
converter.multiple_convert(
file_paths=["business_grow.md", "logo.png"],
output_paths=["business_growth.pdf", "logo.pdf"]
)
# 如果不指定输出路径,将自动推断
converter.multiple_convert(
file_paths=["business_grow.md", "logo.png"]
)
启动用户界面
PdfItDown 提供了一个基于 Gradio 的用户界面,您可以轻松地启动它:
pdfitdown_ui
启动后,您可以在浏览器中访问 http://localhost:7860
查看应用程序。
3. 应用案例和最佳实践
- Markdown 文件转 PDF:对于 Markdown 文件,直接使用
converter.convert
方法,指定 Markdown 文件和期望的 PDF 输出文件即可。 - 图像文件转 PDF:对于图像文件,PdfItDown 会调用 img2pdf 库进行转换,确保图像质量符合需求。
- 文本格式文件转 PDF:对于 CSV、XML、JSON 等文本格式文件,PdfItDown 首先将其转换为 Markdown,然后再转换为 PDF。
4. 典型生态项目
PdfItDown 可以与多个开源项目配合使用,例如:
- Markdown 编辑器:结合 Markdown 编辑器,如 Typora 或 Visual Studio Code,编写文档后直接转换为 PDF。
- 自动化工作流:在 CI/CD 流程中集成 PdfItDown,自动将文档转换为 PDF,以便生成报告或发布文档。
以上是 PdfItDown 的基本使用教程,希望对您有所帮助。
PdfItDown Convert Everything to PDF 项目地址: https://gitcode.com/gh_mirrors/pd/PdfItDown