CSV(Comma-Separated Values)文件是一种用于存储表格数据的纯文本文件。虽然很多电子表格程序都支持 CSV 格式,但有时您可能仍需要将其转换为 PDF 格式,以确保更广泛的可访问性和数据的安全性。本文将介绍如何使用 Spire.XLS for Python 通过代码将 CSV 转换为 PDF。
本方案需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它轻松安装到 Windows 中。
pip install Spire.XLS如果您不清楚如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python
Spire.XLS for Python 提供的 Workbook.SaveToFile() 方法可将 CSV 文件保存为 PDF 格式。以下是详细步骤:
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 CSV 文件
workbook.LoadFromFile("input.csv", ",", 1, 1)
# 将 SheetFitToPage 属性设置为 true
workbook.ConverterSetting.SheetFitToPage = True
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 设置自适应列宽
i = 1
while i < sheet.Columns.Length:
sheet.AutoFitColumn(i)
i += 1
# 将 CSV 文件保存为 PDF 格式
workbook.SaveToFile("CSV转PDF.pdf", FileFormat.PDF)
workbook.Dispose()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.Office 8.9.2已发布。在该版本中,Spire.Doc公开了 ShapeObject 对象下的 AllowOverlap 和 BehindText 属性;Spire.PDF 新增无需加载文档即可判断是否文档被加密的方法,同时支持打印时设置页边距的功能;Spire.XLS 新增支持添加签名行、获取工作表中的形状以及在打印时自定义纸张尺寸而不缩放内容;Spire.Presentation 支持高亮被取代文本。此外,许多已知问题也在该版本中成功修复。详情请阅读以下内容。
该版本涵盖了最新版的 Spire.Doc,Spire.PDF,Spire.XLS,Spire.Email,Spire.DocViewer, Spire.PDFViewer,Spire.Presentation,Spire.Spreadsheet, Spire.OfficeViewer, Spire.Barcode, Spire.DataExport。
版本信息如下:
https://www.e-iceblue.cn/Downloads/Spire-Office-NET.html
新功能:
Document doc = new Document();
doc.LoadFromFile("1.docx");
StringBuilder stringBuilder = new StringBuilder();
foreach (Section section in doc.Sections)
{
foreach (Paragraph par in section.Body.Paragraphs)
{
foreach (DocumentObject obj in par.ChildObjects)
{
OfficeMath omath = obj as OfficeMath;
if (omath == null) continue;
string mathml = omath.ToOfficeMathMLCode();
stringBuilder.Append(mathml);
stringBuilder.Append("\r\n");
}
}
}
File.WriteAllText("1.txt", stringBuilder.ToString());
doc.Close();Document doc = new Document();
doc.LoadFromFile("https://cdn.e-iceblue.cn/Test.docx");
var fieldNames = new string[] { "MyImage" };
var fieldValues = new string[] { "logo.png" };
doc.MailMerge.MergeImageField += new MergeImageFieldEventHandler(MailMerge_MergeImageField);
doc.MailMerge.Execute(fieldNames, fieldValues);
doc.SaveToFile("result.docx", FileFormat.Docx);
}
void MailMerge_MergeImageField(object sender, MergeImageFieldEventArgs field)
{
string filePath = field.FieldValue as string;
if (!string.IsNullOrEmpty(filePath))
{
field.Image = Image.FromFile(filePath);
field.ImageLink = "https://www.e-iceblue.com/";
}
}问题修复:
新功能:
bool value = PdfDocument.IsPasswordProtected("1.pdf");pdf.PrintSettings.SelectMultiPageLayout(2,2,false,Spire.Pdf.Print.PdfMultiPageOrder.Horizontal, marginValue)问题修复:
新功能:
sheet.PageSetup.SetCustomPaperSize(224, (float)25.4);
sheet.PageSetup.Orientation = PageOrientationType.Portrait;sheet.Range["A1"].AddSignatureLine("冰蓝科技","E-iceblue","123 @123.com", "description" ,false, true);Spire.Xls.Core.IShapes shapes = sheet.Shapes;问题修复:
新功能:
Presentation ppt = new Presentation();
ppt.LoadFromFile("input.pptx");
DefaultTextRangeProperties format = new DefaultTextRangeProperties();
format.IsBold = TriState.True;
format.Fill.FillType = Spire.Presentation.Drawing.FillFormatType.Solid;
format.Fill.SolidColor.Color = Color.Red;
format.FontHeight = 25;
ppt.ReplaceAndFormatText("Yuma", "AAAA", format);
ppt.SaveToFile("output.pptx",FileFormat.Pptx2016);问题修复:
问题修复:
问题修复:
Spire.Office for Java 8.9.5 已发布。在该版本中,Spire.XLS for Java 优化了转换 Excel 到 PDF 的时间,同时支持了根据正则表达式查找单元格的功能;Spire.PDF for Java 增强了 OFD 到 PDF 的转换功能。此外,一些已知问题也在该版本中得到修复。详情请阅读以下内容。
获取 Spire.Office for Java 8.9.5请点击:https://www.e-iceblue.cn/Downloads/Spire-Office-JAVA.html
新功能:
问题修复:
问题修复:
Spire.XLS for Java 13.9.2已发布。该版本不仅优化了Excel到PDF的转换时间,还新增了根据正则表达式查找单元格的功能。此外,一些已知问题也在该版本中被成功修复,如加载文档时程序抛 "Input string was not in the correct format" 异常的问题。详情请阅读以下内容。
新功能:
问题修复:
Spire.PDF 9.9.3 已发布。本次更新新增无需加载文档即可判断是否文档被加密的方法,同时支持打印时设置页边距的功能。同时,该版本还增强了 PDF 到 Word、PDFA和POSTSCRIPT,以及 OFD 到 PDF 和图片的转换。此外,一些已知问题也在该版本中得到修复,如用PDF阅读器打开被压缩后的文档失败的问题。详情请阅读以下内容。
新功能:
bool value = PdfDocument.IsPasswordProtected("1.pdf");pdf.PrintSettings.SelectMultiPageLayout(2,2,false,Spire.Pdf.Print.PdfMultiPageOrder.Horizontal, marginValue)问题修复:
合并 PDF 是日常办公与开发中的高频需求,小到合并报告章节,大到构建文档自动化管理系统,都离不开这一操作。对开发人员而言,用 Python 编程实现 PDF 合并,不仅能大幅提升效率,还能轻松集成到自动化工作流中,解决批量处理、定时执行等场景的需求。 本文将介绍如何使用 Spire.PDF for Python 实现 PDF 文件合并。
目录:
虽然 Adobe Acrobat、WPS 等 GUI 工具能实现基础合并,但面对企业级或自动化需求时,Python 的优势尤为明显,尤其适合以下场景:
在使用 Spire.PDF for Python 合并 PDF 之前,需要先安装该库。支持通过 pip 快速安装:
pip install Spire.PDF
以下是将多个 PDF 文件合并为单个 PDF 的 Python 代码。
1. 导入所需的类
首先,从 Spire.PDF 库中导入必要的类:
from spire.pdf.common import *
from spire.pdf import *
2. 定义要合并的 PDF 文件的路径
定义三个 PDF 文件路径并将它们存储在列表中。你可以根据需要修改这些路径或调整文件数量。
inputFile1 = "示例1.pdf"
inputFile2 = "示例2.pdf"
inputFile3 = "示例3.pdf"
files = [inputFile1, inputFile2, inputFile3]
3. 合并 PDF 文件
MergeFiles() 方法将列表中的所有 PDF 合并为一个新的 PDF 文档对象。
pdf = PdfDocument.MergeFiles(files)
4. 保存合并后的 PDF 文件
最后,将合并后的PDF保存到指定的输出路径。
pdf.Save("output/合并PDF.pdf", FileFormat.PDF)
完整 Python 代码:
from spire.pdf.common import *
from spire.pdf import *
# 创建 PDF 文件路径的列表
inputFile1 = "Sample1.pdf"
inputFile2 = "Sample2.pdf"
inputFile3 = "Sample3.pdf"
files = [inputFile1, inputFile2, inputFile3]
# 合并 PDF 文档
pdf = PdfDocument.MergeFiles(files)
# 保存结果文档
pdf.Save("output/合并PDF.pdf", FileFormat.PDF)
pdf.Close()
结果: 将三个 PDF 文件(共6页)合并为一个 PDF 文件。

有时不需要合并整个 PDF,只需提取部分页面(如示例1.pdf的第 1 页、示例2.pdf的第 2 页),Spire.PDF 支持精准选页合并,核心是通过InsertPage(单页)和 InsertPageRange(多页范围)实现。
from spire.pdf import *
from spire.pdf.common import *
# 定义要处理的 PDF 文件路径
file1 = "示例1.pdf"
file2 = "示例2.pdf"
file3 = "示例3.pdf"
files = [file1, file2, file3]
# 加载所有 PDF 文件(转换为 PdfDocument 对象,方便后续选页)
pdfs = []
for file in files:
pdfs.append(PdfDocument(file))
# 创建一个新的空 PDF(用于存放合并后的页面)
newPdf = PdfDocument()
# 将 PDF 中的选定页面插入到新文档中
newPdf.InsertPage(pdfs[0], 0)
newPdf.InsertPage(pdfs[1], 1)
newPdf.InsertPageRange(pdfs[2], 0, 1)
# 保存新的 PDF 文档
newPdf.SaveToFile("output/复制页面合并PDF.pdf")
说明:
结果:将三个不同 PDF 文件中的选定页面合并到一个新的PDF中。

如果需要合并某个文件夹内的所有 PDF,无需手动写每个文件路径,通过 os 库遍历文件夹即可实现全自动合并。
import os
from spire.pdf.common import *
from spire.pdf import *
# 指定要批量处理的文件夹路径
folder = "pdf_folder/"
# 创建新的空 PDF(用于存放合并结果)
merged_pdf = PdfDocument()
# 遍历文件夹内所有文件,筛选出 PDF 并合并
for file in os.listdir(folder):
# 只处理后缀为.pdf的文件(忽略其他格式)
if file.endswith(".pdf"):
pdf = PdfDocument(os.path.join(folder, file))
# 将每个源 PDF 中的所有页面附加到新 PDF 中
merged_pdf.AppendPage(pdf)
pdf.Close() # 关闭源 PDF
# 处理完所有文件后保存合并的 PDF 文档
merged_pdf.SaveToFile("BatchCombinePDFs.pdf")
merged_pdf.Close() # 释放资源
A: Spire.PDF for Python 提供 30天免费试用。或者可以使用免费版本,但有页面限制。
A: 分两种情况:
A: 请参考这份详细指南:Python 为 PDF 文档添加页码
A: 主要通过压缩 PDF 中的图像和字体实现,具体可参考官方教程:Python 压缩 PDF 文档。
借助 Spire.PDF for Python,只需几行代码就可以高效地将多个 PDF 文件合并为一个文档。无论你需要合并整个文档、特定页面还是进行批量合并,本文都提供了详细步骤说明和代码,助您实现自动化合并 PDF。 如果需要进一步扩展功能(如添加水印、加密 PDF),可参考 Spire.PDF 官方文档,里面包含更多 PDF 处理的实操案例。
Spire.PDF for Java 9.9.2已发布。该版本修复了将OFD转换为PDF后字符重叠的问题。详情请阅读以下内容。
问题修复:
将 Excel 文件转换为 PDF 格式能确保文件的格式和布局在不同应用程序或设备上保持一致。此外,PDF 文件通常比 Excel 文件看起来更精致、更专业,因此很多官方报告和商业文件都采用此格式。本文将介绍如何使用 Spire.XLS for Python 通过代码将整个 Excel 工作簿或仅将单个 Excel 工作表转换为 PDF 文件。
本方案需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它轻松安装到 Windows 中。
pip install Spire.XLS如果您不清楚如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python
Spire.XLS for Python 提供的 Workbook.SaveToFile() 方法可以将整个 Excel 工作簿转换为一个 PDF 文件。转换后,每个工作表将在生成的 PDF 文件中显示为单独的一页。此外,要对转换选项进行设置,可使用 Workbook.ConverterSetting 属性。以下是详细步骤:
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 工作簿
workbook.LoadFromFile("Sample.xlsx")
# 遍历该工作簿中的所有工作表
for sheet in workbook.Worksheets:
# 获取 PageSetup 对象
pageSetup = sheet.PageSetup
# 设置页边距
pageSetup.TopMargin = 0.3
pageSetup.BottomMargin = 0.3
pageSetup.LeftMargin = 0.3
pageSetup.RightMargin = 0.3
# 设置转换时工作表适应页面
workbook.ConverterSetting.SheetFitToPage = True
# 将Excel工作簿转换为PDF文件
workbook.SaveToFile("ToPdf.pdf", FileFormat.PDF)
workbook.Dispose()
要将某个指定的工作表转换为 PDF,可以使用 Worksheet.SaveToPdf() 方法。以下是详细步骤:
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("Sample.xlsx")
# 获取第二个工作表
sheet = workbook.Worksheets[1]
# 获取 PageSetup 对象
pageSetup = sheet.PageSetup
# 设置页边距
pageSetup.TopMargin = 0.3
pageSetup.BottomMargin = 0.3
pageSetup.LeftMargin = 0.3
pageSetup.RightMargin = 0.3
# 设置转换时工作表适应页面
workbook.ConverterSetting.SheetFitToPage = True
# 将该工作表保存为PDF文件
sheet.SaveToPdf("WorksheetToPdf.pdf")
workbook.Dispose()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
在 Word 文档中添加背景色或背景图片是增强文档视觉吸引力的有效方法。无论是在创建专业报告、创意传单还是个人邀请函,加入精心挑选的背景色或背景图片都能将普通文档变为具有视觉吸引力的作品。本文将演示如何使用 Spire.Doc for Python 在 Python 程序中为 Word 文档添加背景色或背景图片。
本教程需要用到 Spire.Doc for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Doc如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Doc for Python
首先将 Word 文档的背景类型更改为 "Color",然后选择一种颜色作为文档背景,即可为 Word 文档设置背景色。具体步骤如下:
from spire.doc import *
from spire.doc.common import *
# 创建一个Document类的对象
document = Document()
# 加载Word文档
document.LoadFromFile("示例.docx")
# 获取文档的背景
background = document.Background
# 将背景类型设置为颜色
background.Type = BackgroundType.Color
# 设置背景色
background.Color = Color.get_AliceBlue()
# 保存文档
document.SaveToFile("背景色.docx", FileFormat.Docx2016)
document.Close()
渐变背景是指在两种或多种颜色之间平滑过渡的背景样式。要添加渐变背景,需要先将背景类型更改为 "Gradient",然后指定渐变颜色,最后设置渐变阴影和样式。具体步骤如下:
from spire.doc import *
from spire.doc.common import *
# 创建一个Document类的对象
document = Document()
# 加载Word文档
document.LoadFromFile("示例.docx")
# 获取文档的背景
background = document.Background
# 将背景类型设置为渐变
background.Type = BackgroundType.Gradient
# 设置两种渐变颜色
background.Gradient.Color1 = Color.get_White()
background.Gradient.Color2 = Color.get_LightBlue()
# 设置渐变的阴影和样式
background.Gradient.ShadingVariant = GradientShadingVariant.ShadingDown
background.Gradient.ShadingStyle = GradientShadingStyle.Horizontal
# 保存文档
document.SaveToFile("渐变背景.docx", FileFormat.Docx2016)
document.Close()
给 Word 文档中设置背景图片时,则需要将背景类型更改为 "Picture",然后指定图片并将其设为背景。具体步骤如下:
from spire.doc import *
from spire.doc.common import *
# 创建一个Document类的对象
document = Document()
# 加载Word文档
document.LoadFromFile("示例.docx")
# 获取文档的背景
background = document.Background
# 将背景类型设置为图片
background.Type = BackgroundType.Picture
# 设置背景图片
background.SetPicture("背景.jpg")
# 保存文档
document.SaveToFile("背景图片.docx", FileFormat.Docx2016)
document.Close()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.PDF for Python 是一款完全独立的 PDF 开发组件,用于在任何 Python 应用程序中读取、创建、编辑和转换 PDF 文件。本文将介绍如何在 Windows 中安装 Spire.PDF for Python。
步骤1
下载最新版的 Python 并将其安装到您的电脑中。如果已经安装,请跳至步骤 2。

步骤2
点击 VS Code 中的“扩展”,搜索 “Python”,然后点击安装。

步骤3
点击“资源管理器”-“无打开的文件夹”-“打开文件夹”。

选择一个现有文件夹作为工作区,或者创建一个新文件夹,然后选择它。

在刚才添加的文件夹(本例中为 “Python” 的文件夹)中新建一个 .py 文件并命名。

步骤4
点击“终端”,然后点击“新建终端”。

输入以下命令安装 Spire.PDF for Python。
pip install Spire.PDF
或者,您也可以从我们的官网下载 Spire.PDF for Python,解压缩后从 “lib” 文件夹中获取 .whl 文件。其中,文件名中带有 “manylinux1_x86_64” 的 .whl 文件适用于 Linux 平台,而带有 “win_amd64” 的则适用于 Windows 平台。

然后,运行以下命令安装 Spire.PDF for Python。
pip install G:\spire.pdf.python_9.8.1\lib\Spire.Pdf-9.8.1-py3-none-win_amd64.whl
步骤5
在 “HelloWorld.py” 文件中添加以下代码片段。
from spire.pdf.common import *
from spire.pdf import *
outputFile = "HelloWorld.pdf"
doc= PdfDocument()
page = doc.Pages.Add()
s = "Hello, World"
x = 10.0
y = 10.0
font = PdfFont(PdfFontFamily.Helvetica ,30.0)
color = PdfRGBColor(Color.get_Black())
textBrush = PdfSolidBrush(color)
page.Canvas.DrawString(s, font, textBrush, x, y)
doc.SaveToFile(outputFile)
doc.Close()
运行该 Python 文件后,您将在“资源管理器”面板中看到生成的 PDF 文档。
