Spire.Presentation for Python 8.9.0 已发布。本次更新新增了在将形状保存为图片时设置自定义DPI的方法。此外,该版本还修复了重置幻灯片尺寸时程序抛出“System.NullReferenceException”的问题。详情请阅读以下内容。
新功能:
presentation.Slides[0].Shapes.SaveAsImage(0,300,300);问题修复:
https://www.e-iceblue.cn/Downloads/Spire-Presentation-Python.html
Spire.Presentation 8.9.4 已发布。本次更新新增支持设置幻灯片自动切换的时间以及设置和读取渐变停止样式的透明度和亮度。同时,该版本还增强了幻灯片到图片的转换。一些已知问题也在该版本种得到修复,如获取多边形的角坐标集合不完整的问题。详情请阅读以下内容。
新功能:
Presentation ppt = new Presentation();
ppt.LoadFromFile("input.pptx");
ppt.Slides[0].SlideShowTransition.AdvanceAfterTime = 1000;
ppt.Slides[1].SlideShowTransition.SelectedAdvanceAfterTime = false;
ppt.SaveToFile("output.pptx", FileFormat.Pptx2013);
ppt.Dispose();原有的项:
FromCorner1
FromCorner2
FromCorner3
FromCorner4
新增的项:
FromTopLeftCorner
FromBottomLeftCorner
FromTopRightCorner
FromBottomRightCornerPresentation ppt = new Presentation();
ppt.LoadFromFile("input.pptx");
StringBuilder stringBuilder = new StringBuilder();
IAutoShape shape = (ppt.Slides[0].Shapes[0] as GroupShape).Shapes[2] as IAutoShape;
GradientStopCollection stops = shape.Fill.Gradient.GradientStops;
for (int i = 0; i < stops.Count; i++)
{
float transparency = stops[i].Color.Transparency;
float brightness = stops[i].Color.Brightness;
stringBuilder.AppendLine("stops" + i + "transparency: " + transparency + " brightness: " + brightness);
}
File.WriteAllText("output.txt", stringBuilder.ToString());
stops[0].Color.Transparency = 0.5f;
stops[0].Color.Brightness = -0.32f;
ppt.SaveToFile("output.pptx", FileFormat.Auto);
ppt.Dispose();问题修复:
https://www.e-iceblue.cn/Downloads/Spire-Presentation-NET.html
Excel 是一种广泛用于组织、分析和展示数据的电子表格文件。具有与 Excel 文件进行交互编程的能力是在软件应用程序中实现 Excel 功能自动化的关键。具体来说,了解如何通过代码创建新的 Excel 文档、从现有文档中检索信息以及按要求更新或修改数据将非常有帮助。本文将演示如何使用 Spire.XLS for Python 在 Python 中创建、读取或更新 Excel 文件。
本方案需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它轻松安装到 Windows 中。
pip install Spire.XLS果您不清楚如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python
Spire.XLS for Python 提供了各种可用于创建和编辑 Excel 文档的类和接口。下表列举了一些本文中用到的重要类、属性和方法。
| 成员 | 描述 |
| Workbook 类 | 表示 Excel 工作簿模型。 |
| Workbook.Worksheets.Add() 方法 | 添加工作表到工作簿。 |
| Workbook.SaveToFile() 方法 | 将工作簿保存为 Excel 文档。 |
| Worksheet 类 | 表示工作簿中的工作表。 |
| Worksheet.Range 属性 | 获取工作表中的特定单元格或单元格区域。 |
| Worksheet.Range.Text 属性 | 获取或设置单元格的文本值。 |
| Worksheet.Rows 属性 | 获取工作表中行的集合。 |
| CellRange 类 | 表示工作表中的单元格或单元格区域。 |
以下是使用 Spire.XLS for Python 创建一个新的 Excel 文档的步骤。
from spire.xls import *
from spire.xls.common import *
# 创建Workbook对象
wb = Workbook()
# 删除默认工作表
wb.Worksheets.Clear()
# 添加一个工作表并命名
sheet = wb.Worksheets.Add("报价")
# 合并A1至G1单元格
sheet.Range["A1:G1"].Merge()
# 在A1中写入数据并设置格式
sheet.Range["A1"].Text = "活动费用报价表"
sheet.Range["A1"].HorizontalAlignment = HorizontalAlignType.Center
sheet.Range["A1"].VerticalAlignment = VerticalAlignType.Center
sheet.Range["A1"].Style.Font.IsBold = True
sheet.Range["A1"].Style.Font.Size = 13
# 设置第一行的行高
sheet.Rows[0].RowHeight = 30
# 在特定单元格中写入数据
sheet.Range["A2"].Text = "编号"
sheet.Range["B2"].Text = "项目"
sheet.Range["C2"].Text = "规格说明"
sheet.Range["D2"].Text = "时间"
sheet.Range["E2"].Text = "数量"
sheet.Range["F2"].Text = "单价"
sheet.Range["G2"].Text = "价格"
sheet.Range["A3"].Text = "1"
sheet.Range["B3"].Text = "钢架舞台"
sheet.Range["C3"].Text = "8*4米"
sheet.Range["D3"].Text = "1场"
sheet.Range["E3"].Text = "18平米"
sheet.Range["F3"].Text = "35元/平米"
sheet.Range["G3"].Text = "630.00"
sheet.Range["A4"].Text = "2"
sheet.Range["B4"].Text = "舞台围布"
sheet.Range["C4"].Text = "20公分"
sheet.Range["D4"].Text = "1场"
sheet.Range["E4"].Text = "16米"
sheet.Range["F4"].Text = "8元/米"
sheet.Range["G4"].Text = "128.00"
sheet.Range["A5"].Text = "3"
sheet.Range["B5"].Text = "背景架"
sheet.Range["C5"].Text = "8*4米"
sheet.Range["D5"].Text = "1场"
sheet.Range["E5"].Text = "12平米"
sheet.Range["F5"].Text = "35元/平米"
sheet.Range["G5"].Text = "420.00"
sheet.Range["A6"].Text = "4"
sheet.Range["B6"].Text = "条幅"
sheet.Range["C6"].Text = "90公分宽"
sheet.Range["D6"].Text = "永久"
sheet.Range["E6"].Text = "10米"
sheet.Range["F6"].Text = "10元/米"
sheet.Range["G6"].Text = "100.00"
sheet.Range["A7"].Text = "5"
sheet.Range["B7"].Text = "地毯"
sheet.Range["C7"].Text = "全新红地毯"
sheet.Range["D7"].Text = "永久"
sheet.Range["E7"].Text = "100米(暂定)"
sheet.Range["F7"].Text = "7元/米"
sheet.Range["G7"].Text = "700.00"
# 设置指定单元格区域的行高
sheet.Range["A2:G7"].RowHeight = 15
# 设置列宽
sheet.SetColumnWidth(2, 13)
sheet.SetColumnWidth(3, 12)
sheet.SetColumnWidth(5, 14)
sheet.SetColumnWidth(6, 12)
# 设置指定单元格区域的边框样式
sheet.Range["A2:G7"].BorderAround(LineStyleType.Medium)
sheet.Range["A2:G7"].BorderInside(LineStyleType.Thin)
sheet.Range["A2:G2"].BorderAround(LineStyleType.Medium)
sheet.Range["A2:G7"].Borders.KnownColor = ExcelColors.Black
# 保存为 .xlsx 文件
wb.SaveToFile("创建Excel文档.xlsx", FileFormat.Version2016)

Worksheet.Range.Value 属性能以字符串形式返回单元格中的数字值或文本值。要获取整个 Excel 工作表或某个单元格区域中的数据,可循环遍历其中的单元格。以下是使用 Spire.XLS for Python 读取 Excel 工作表中数据的步骤。
from spire.xls import *
from spire.xls.common import *
# 创建Workbook对象
wb = Workbook()
# 加载Excel文档
wb.LoadFromFile("创建Excel文档.xlsx");
# 获取第一张工作表
sheet = wb.Worksheets[0]
# 获取包含数据的单元格区域
locatedRange = sheet.AllocatedRange
# 遍历各行
for i in range(len(sheet.Rows)):
# 遍历各列
for j in range(len(locatedRange.Rows[i].Columns)):
# 获取指定单元格的数据
print(locatedRange[i + 1, j + 1].Value + " ", end='')
print("")

要更改某个单元格的值,只需通过 Worksheet.Range.Value 属性为其重新赋值即可。具体步骤如下。
from spire.xls import *
from spire.xls.common import *
# 创建Workbook对象
wb = Workbook()
# 加载Excel文档
wb.LoadFromFile("创建Excel文档.xlsx");
# 获取第一张工作表
sheet = wb.Worksheets[0]
# 更改指定单元格的值
sheet.Range["A1"].Value = "修改数据"
# 保存结果文件
wb.SaveToFile("更新Excel.xlsx", ExcelVersion.Version2016)

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.Office for Java 8.9.7 已发布。在该版本中,Spire.Doc for Java 优化了读取本身存在问题的文档的机制,让其抛出异常结束程序从而避免导致内存溢出;Spire.PDF for Java支持将 PDF 转换为 SVGZ 及比较 PDF 文档;Spire.Presentation for Java支持在转换PPTX到其他文档格式时指定页数。 此外,一些已知问题也在该版本中得到修复。详情请阅读以下内容。
获取 Spire.Office for Java 8.9.7请点击:https://www.e-iceblue.cn/Downloads/Spire-Office-JAVA.html
新功能:
问题修复:
新功能:
PdfDocument document=new PdfDocument();
document.loadFromFile("https://cdn.e-iceblue.cn/input.pdf");
XlsxSpecialTableLayoutOptions options=new XlsxSpecialTableLayoutOptions(false, false, false);
document.getConvertOptions().setPdfToXlsxOptions(options);
document.saveToFile("output.pdf", FileFormat.XLSX);document.saveToFile("output.svgz", FileFormat.SVGZ);PdfDocument pdf1 = new PdfDocument(inputFile_1);
PdfDocument pdf2 = new PdfDocument(inputFile_2);
PdfComparer compare = new PdfComparer(pdf1, pdf2);
compare.getOptions().setPageRanges(0, pdf1.getPages().getCount() - 1, 0, pdf2.getPages().getCount() - 1);
compare.compare(outputFile);问题修复:
新功能:
ppt.saveToFile(2,5,outputFile, FileFormat.PDF);问题修复:
Spire.PDF for Java 9.9.6 已发布。本次更新新增支持将 PDF 转换为 SVGZ 及比较 PDF 文档,同时还增强了从 PDF 到 Excel、SVG 和 PPTX 的转换功能。此外,该版本还修复了一些已知问题,如加载 PDF 文档时程序抛出“PDF file structure is not valid”异常的问题。详情请阅读以下内容。
新功能:
PdfDocument document=new PdfDocument();
document.loadFromFile("https://cdn.e-iceblue.cn/input.pdf");
XlsxSpecialTableLayoutOptions options=new XlsxSpecialTableLayoutOptions(false, false, false);
document.getConvertOptions().setPdfToXlsxOptions(options);
document.saveToFile("output.pdf", FileFormat.XLSX);document.saveToFile("output.svgz", FileFormat.SVGZ);PdfDocument pdf1 = new PdfDocument(inputFile_1);
PdfDocument pdf2 = new PdfDocument(inputFile_2);
PdfComparer compare = new PdfComparer(pdf1, pdf2);
compare.getOptions().setPageRanges(0, pdf1.getPages().getCount() - 1, 0, pdf2.getPages().getCount() - 1);
compare.compare(outputFile);问题修复:
将 PDF 转换为图片能在不同的使用场景中带来好处。例如,它能使文档内容的共享变得简单,尤其是在某些主要支持图像格式的平台上。此外,在网络上发布文档时,它还有助于显示内容的预览或缩略图。在本文中,您将学习如何使用 Spire.PDF for Python 通过代码将 PDF 转换为 JPG/PNG/BMP 图片。
本教程需要用到 Spire.PDF for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.PDF如果您不清楚如何安装,请参考此教程: 如何在 Windows 中安装 Spire.PDF for Python
Spire.PDF for Python 提供的 PdfDocument.SaveAsImage(int pageIndex) 方法能将指定的 PDF 页面转换为图像流。然后可以将图像流保存为 JPEG、PNG、BMP 或 EMF 图像文件。具体步骤如下。
from spire.pdf.common import *
from spire.pdf import *
# 创建PdfDocument对象
pdf = PdfDocument()
# 加载PDF文档
pdf.LoadFromFile("报告.pdf")
# 将指定PDF页面转换为图片
with pdf.SaveAsImage(2) as imageS:
# 将图片保存为jpg格式
imageS.Save("Output/PDF转JPG.jpg")
pdf.Close()

要将 PDF 文档中的每一页都保存为单独的图片,只需将转换部分放在循环中即可。具体步骤如下:
from spire.pdf.common import *
from spire.pdf import *
# 创建PdfDocument对象
pdf = PdfDocument()
# 加载PDF文档
pdf.LoadFromFile("报告.pdf")
# 遍历文档中的页面
for i in range(pdf.Pages.Count):
# 将每一页都保存为图片
fileName = "PDF转图片\图片-{0:d}.png".format(i)
with pdf.SaveAsImage(i) as imageS:
imageS.Save(fileName)
pdf.Close()

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.Presentation for Java 8.9.4 已发布。该版本支持在转换PPTX到其他文档格式时指定文档页数。此外,一些已知问题也在该版本中被成功修复,如将PPTX转换为HTML后视频和图片的路径不正确的问题。详情请阅读以下内容。
新功能:
ppt.saveToFile(2,5,outputFile, FileFormat.PDF);问题修复:
https://www.e-iceblue.cn/Downloads/Spire-Presentation-JAVA.html
水印是指放置在文档内容后面的半透明文本或图像。在 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
Spire.Doc for Python 提供的 TextWatermark 类可用于设置文本水印。在设置好水印后,我们可以通过 Document.Watermark 属性将其添加到 Word 文档中。下面是详细的步骤:
from spire.doc import *
from spire.doc.common import *
# 创建一个文档对象
document = Document()
# 加载一个Word文档
document.LoadFromFile("示例.docx")
# 创建一个TextWatermark的对象
txtWatermark = TextWatermark()
# 设置文本水印的格式
txtWatermark.Text = "请勿复制"
txtWatermark.FontSize = 65
txtWatermark.Color = Color.get_Red()
txtWatermark.Layout = WatermarkLayout.Diagonal
# 将文本水印添加到文档中
document.Watermark = txtWatermark
# 保存结果文档
document.SaveToFile("output/文字水印.docx", FileFormat.Docx)
document.Close()

PictureWatermark 类的方法可以用于设置图像水印。以下是详细步骤:
from spire.doc import *
from spire.doc.common import *
# 创建一个 Document 对象
document = Document()
# 加载一个 Word 文档
document.LoadFromFile("示例.docx")
# 创建一个 PictureWatermark 对象
picture = PictureWatermark()
# 设置图片水印的格式
picture.SetPicture("水印.png")
picture.Scaling = 100
picture.IsWashout = False
# 将图片水印添加到文档中
document.Watermark = picture
# 保存结果文档
document.SaveToFile("output/图片水印.docx", FileFormat.Docx)
document.Close()

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.Doc 11.9.19 已发布。本次更新增强了 Word 和 HTML 到 PDF 的转换功能。此外,大量已知问题也在该版本中成功修复,如加载一个文档并另存为一个新文档后多出形状的问题。详情请阅读以下内容。
问题修复:
Microsoft Word 是日常工作和生活中常用的一种数字文档格式,但有时为了确保文档的内容、格式和布局在不同设备上的一致性和跨平台兼容性,您可能需要将 Word 文件转换成PDF格式。本文将介绍如何使用 Spire.Doc for Python 通过代码将 Word 转换为 PDF。
本教程需要用到 Spire.Doc for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Doc如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Doc for Python
Spire.Doc for Python 提供的 Document.SaveToFile(string fileName, FileFormat fileFormat) 方法可将 Word 另存为 PDF、XPS、HTML、RTF 等格式。如果您只想将 Word 文档保存为常规 PDF 而不进行其他设置,请参考以下步骤。
from spire.doc import *
from spire.doc.common import *
# 创建 Document 类的对象
document = Document()
# 加载一个 .doc 或 .docx 文档
document.LoadFromFile("工作汇报.docx")
# 将文档保存为PDF格式
document.SaveToFile("Output/ToPDF.pdf", FileFormat.PDF)
document.Close()

要将 Word 转换为受密码保护的 PDF,可以使用 Document.SaveToFile(string fileName, ToPdfParameterList paramList) 方法。其中 ToPdfParameterList 参数可控制 Word 文档转 PDF 的过程,例如,转换时是否加密文档。具体步骤如下。
from spire.doc import *
from spire.doc.common import *
# 创建 Document 类的对象
document = Document()
# 加载 Word 文档
document.LoadFromFile("工作汇报.docx")
# 创建 ToPdfParameterList 类的对象
parameter = ToPdfParameterList()
# 设置打开密码和权限密码,并用其保护生成的 PDF 文件
openPsd = "abc123"
permissionPsd = "E-iceblue"
parameter.PdfSecurity.Encrypt(openPsd, permissionPsd, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit)
# 将文档保存为加密的PDF
document.SaveToFile("Output/加密Pdf.pdf", parameter)
document.Close()

书签可以增强文档的可读性。在转换 Word 文档到 PDF 时,您可能希望保留现有书签或根据标题创建新书签。以下是将 Word 转换为带书签的 PDF 的具体步骤。
from spire.doc import *
from spire.doc.common import *
# 创建 Document 类的对象
document = Document()
# 加载 Word 文档
document.LoadFromFile("工作汇报.docx")
# 创建 ToPdfParameterList 类的对象
parames = ToPdfParameterList()
# 根据 Word 中的标题创建 PDF 书签
parames.CreateWordBookmarksUsingHeadings = True
# 根据 Word 中的现有书签创建 PDF 书签
#parames.CreateWordBookmarks = True
# 将文档保存为带书签的PDF
document.SaveToFile("Output/带书签的PDF.pdf", parames)
document.Close()

要确保生成的 PDF 文档在各种设备上的外观一致性,那么您需要在转换时将 Word 文档中使用的字体嵌入到 PDF 文档中。具体步骤如下。
from spire.doc import *
from spire.doc.common import *
# 创建 Document 类的对象
document = Document()
# 加载 Word 文档
document.LoadFromFile("工作汇报.docx")
# 创建 ToPdfParameterList 类的对象
parameter = ToPdfParameterList()
# 将字体嵌入到生成的PDF中
parameter.IsEmbeddedAllFonts = True
# 将文档保存为PDF
document.SaveToFile("Output/嵌入字体.pdf", parameter)
document.Close()

包含大量高质量图像的文档通常尺寸较大。在将 Word 转换为 PDF 时,您可以决定是否压缩图像质量。具体步骤如下。
from spire.doc import *
from spire.doc.common import *
# 创建 Document 类的对象
document = Document()
# 加载 Word 文档
document.LoadFromFile("工作汇报.docx")
# 将图像压缩到原始质量的40%
document.JPEGQuality = 40
# 保留原始图像质量
# document.JPEGQuality = 100
# 将文档保存为PDF
document.SaveToFile("Output/设置图片质量.pdf", FileFormat.PDF)
document.Close()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。