合并单元格是指将多个相邻的单元格合并成一个更大的单元格。合并后的单元格将继承原始单元格的所有属性和内容。当你需要创建更大的单元格以容纳更多内容或创建标题行时,这一功能尤其有用。反之,取消合并单元格则是将合并后的单元格还原为原始的多个单元格。取消合并的单元格将恢复到原来的独立状态,您可以在每个单元格中输入不同的内容。
合并和解除合并单元格是 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 提供的 Workheet.Columns[].Merge() 或 Workheet.Rows[].Merge() 方法可以帮助用户轻松合并 Excel 中指定行或列的单元格,从而提高数据处理能力。具体步骤如下:
from spire.xls import *
from spire.xls.common import *
# 创建Workbook类的对象
workbook = Workbook()
# 加载一个Excel文件
workbook.LoadFromFile("费用.xlsx")
# 获取第一张工作表
sheet = workbook.Worksheets[0]
# 合并第一列单元格
#sheet.Columns[0].Merge()
# 合并第一行单元格
sheet.Rows[0].Merge()
# 保存结果文件
workbook.SaveToFile("合并行或列.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
要合并指定的单元格范围,可以使用 Spire.XLS for Python 提供的 Workbook.Range[].Merge() 方法。具体步骤如下:
from spire.xls import *
from spire.xls.common import *
# 创建Workbook类的对象
workbook = Workbook()
# 加载一个Excel文件
workbook.LoadFromFile("费用.xlsx")
# 获取第一张工作表
sheet = workbook.Worksheets[0]
# 合并指定单元格区域
sheet.Range["H3:H5"].Merge()
# 保存结果文件
workbook.SaveToFile("合并单元格区域.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
单元格合并后,Spire.XLS for Python 还允许用户通过 Worksheet.Columns[].UnMerge() 或 Workheet.Rows[].UnMerge() 方法取消合并特定列或行的单元格。具体步骤如下:
from spire.xls import *
from spire.xls.common import *
# 创建Workbook类的对象
workbook = Workbook()
# 加载一个Excel文件
workbook.LoadFromFile("合并行或列.xlsx")
# 获取第一张工作表
sheet = workbook.Worksheets[0]
# 取消合并第一列
#sheet.Columns[0].UnMerge()
# 取消合并第一行
sheet.Rows[0].UnMerge()
# 保存结果文件
workbook.SaveToFile("取消合并行或列.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
此外,用户还能使用 Workbook.Range[].UnMerge() 方法取消合并指定的单元格范围。具体步骤如下:
from spire.xls import *
from spire.xls.common import *
# 创建Workbook类的对象
workbook = Workbook()
# 加载一个Excel文件
workbook.LoadFromFile("合并单元格区域.xlsx")
# 获取第一张工作表
sheet = workbook.Worksheets[0]
# 取消合并指定单元格区域
sheet.Range["H3:H5"].UnMerge()
# 保存结果文件
workbook.SaveToFile("取消单元格区域.xlsx", ExcelVersion.Version2016)
workbook.Dispose()如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
制作 PowerPoint 演示文稿时,设置恰当的背景至关重要。背景是展示内容的基础,选择合适的背景可以极大地提升幻灯片的整体美感和效果。不论是在商业会议、教育研讨会还是社交活动中进行幻灯片演示,一个精心设计的背景都能吸引观众,并通过视觉上的吸引力有效地传达你的信息。本文将介绍如何使用 Spire.Presentation for Python 在 Python 中为 PowerPoint 幻灯片设置背景颜色或背景图片。
本教程需要用到 Spire.Presentation for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Presentation如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Presentation for Python
为 PowerPoint 幻灯片添加背景颜色非常简单。 你只需要将幻灯片背景的填充模式设置为纯色填充,然后选择所需的颜色作为幻灯片背景即可。 详细步骤如下:
from spire.presentation import *
# 创建Presentation 类的对象
ppt = Presentation()
# 加载PowerPoint 演示文稿
ppt.LoadFromFile("示例.pptx")
# 获取第一张幻灯片
slide = ppt.Slides[0]
# 获取幻灯片的背景
background = slide.SlideBackground
# 将幻灯片背景的类型设置为自定义类型
background.Type = BackgroundType.Custom
# 设置幻灯片背景的填充模式为纯色填充
background.Fill.FillType = FillFormatType.Solid
# 设置幻灯片背景的颜色
background.Fill.SolidColor.Color = Color.get_PaleTurquoise()
# 保存结果文档
ppt.SaveToFile("纯色背景.pptx", FileFormat.Pptx2013)
ppt.Dispose()
要为 PowerPoint 幻灯片添加渐变背景,你需要将幻灯片背景的填充模式设置为渐变填充,然后设置渐变停止点和渐变颜色。 详细步骤如下:
from spire.presentation import *
# 创建Presentation类的对象
ppt = Presentation()
# 加载PowerPoint文档
ppt.LoadFromFile("示例.pptx")
# 获取第一张幻灯片
slide = ppt.Slides[0]
# 获取幻灯片的背景
background = slide.SlideBackground
# 将幻灯片的背景类型设置为自定义类型
background.Type = BackgroundType.Custom
# 将幻灯片背景的填充模式设置为渐变填充
background.Fill.FillType = FillFormatType.Gradient
# 设置渐变停止点和渐变颜色
background.Fill.Gradient.GradientStops.AppendByColor(0.1, Color.get_LightCyan())
background.Fill.Gradient.GradientStops.AppendByColor(0.7, Color.get_LightSeaGreen())
# 设置渐变形状和角度
background.Fill.Gradient.GradientShape = GradientShapeType.Linear
background.Fill.Gradient.LinearGradientFill.Angle = 45
# 保存结果文档
ppt.SaveToFile("渐变背景.pptx", FileFormat.Pptx2013)
ppt.Dispose()
要为 PowerPoint 幻灯片添加背景图片,你需要将幻灯片背景的填充模式设置为图片填充,然后将所选图片添加到演示文稿的图片集合中,最后将该图片设置为幻灯片的背景。 详细步骤如下:
from spire.presentation import *
# 创建Presentation类的对象
ppt = Presentation()
# 加载PowerPoint文档
ppt.LoadFromFile("示例.pptx")
# 获取第一张幻灯片
slide = ppt.Slides[0]
# 获取幻灯片的背景
background = slide.SlideBackground
# 将幻灯片背景的类型设置为自定义类型
background.Type = BackgroundType.Custom
# 将幻灯片背景的填充模式设置为图片填充
background.Fill.FillType = FillFormatType.Picture
# 添加一张图片到文档的图片集合中
stream = Stream("背景.jpg")
imageData = ppt.Images.AppendStream(stream)
# 将图片设置为幻灯片的背景
background.Fill.PictureFill.FillType = PictureFillType.Stretch
background.Fill.PictureFill.Picture.EmbedImage = imageData
# 保存结果文档
ppt.SaveToFile("图片背景.pptx", FileFormat.Pptx2013)
ppt.Dispose()
如果你不想为每张幻灯片逐个设置背景,可以为幻灯片母版设置背景,这样所有使用相同母版的幻灯片都会自动应用该背景。 以下是为幻灯片母版设置纯色背景的步骤:
from spire.presentation import *
# 创建Presentation类的对象
ppt = Presentation()
# 加载PowerPoint文档
ppt.LoadFromFile("示例.pptx")
# 获取第一个幻灯片母版
slideMaster = ppt.Masters[0]
# 获取幻灯片母版的背景
background = slideMaster.SlideBackground
# 将幻灯片母版的背景类型设置为自定义类型
background.Type = BackgroundType.Custom
# 将幻灯片母版背景的填充模式设置为纯色填充
background.Fill.FillType = FillFormatType.Solid
# 设置幻灯片母版的背景颜色
background.Fill.SolidColor.Color = Color.get_PeachPuff()
# 保存结果文档
ppt.SaveToFile("幻灯片母版背景.pptx", FileFormat.Pptx2013)
ppt.Dispose()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.PDF 9.12已发布。该版本增强了从SVG和OFD到PDF的转换功能。此外,还修复了一系列其他已知问题,例如提取文本失败的问题。详情请阅读以下内容。
问题修复:
SVG(可缩放矢量图形)是一种基于 XML 的矢量图像格式,它使用几何形状、文本和其他图形元素来描述二维图形。SVG 文件可以在不损失图片质量的情况下轻松缩放,因此非常适合用于网页设计、插图和动画等各种用途。在某些情况下,您可能需要将 PDF 文件转换为 SVG 格式。本文将介绍如何使用 Spire.PDF for Python 在 Python 中将 PDF 转换为 SVG。
本教程需要用到 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.SaveToFile(filename:str, fileFormat:FileFormat) 方法,用于将 PDF 文件的每一页转换为单独的 SVG 文件。具体步骤如下:
from spire.pdf.common import *
from spire.pdf import *
# 创建PdfDocument类的对象
pdf = PdfDocument()
# 加载一个PDF文件
pdf.LoadFromFile("报告.pdf")
# 将PDF文件的每一页保存为单独的 SVG 文件
pdf.SaveToFile("转SVG/ToSVG.svg", FileFormat.SVG)
pdf.Close()
Spire.PDF for Python 提供的 PdfDocument.PdfConvertOptions.SetPdfToSvgOptions(wPixel:float, hPixel:float) 方法允许您在转换时指定生成 SVG 文件的宽度和高度。具体步骤如下:
from spire.pdf.common import *
from spire.pdf import *
# 创建PdfDocument类的对象
pdf = PdfDocument()
# 加载一个PDF文件
pdf.LoadFromFile("报告.pdf")
# 指定生成 SVG 文件的宽度和高度
pdf.ConvertOptions.SetPdfToSvgOptions(800.0, 1200.0)
# 将PDF文件的每一页保存为单独的 SVG 文件
pdf.SaveToFile("自定义尺寸SVG/ToSVG.svg", FileFormat.SVG)
pdf.Close()
Spire.PDF for Python 提供的 PdfDocument.SaveToFile(filename:str, startIndex:int, endIndex:int, fileFormat:FileFormat) 方法允许您将 PDF 文件的指定页面转换为 SVG 文件。具体步骤如下:
from spire.pdf.common import *
from spire.pdf import *
# 创建PdfDocument类的对象
pdf = PdfDocument()
# 加载一个PDF文件
pdf.LoadFromFile("报告.pdf")
# 将PDF文件指定页面保存为 SVG 文件
pdf.SaveToFile("指定页面转SVG/ToSVG.svg", 3, 4, FileFormat.SVG)
pdf.Close()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.PDF for Java 9.12.0 已发布。本次更新增强了 PDF 到 SVG、PDF/A1B 和 PDF/A2A 的转换功能。此外,一些已知问题也在该版本中得到修复,如添加图章并锁定后,打印 PDF 时图章丢失的问题。详情请阅读以下内容。
问题修复:
PDF 文档中的超链接是常用的内容导航工具,可用于导航到文档内部或外部的相关信息。要保证链接能够有效地发挥作用,我们需要确保链接准确且更新及时。掌握更改和删除超链接的能力,能够帮助我们及时修改或删除失效及错误的链接,从而提升文档的专业性以及内容访问的便捷性。本文将演示如何使用 Spire.PDF for Python 来修改或删除 PDF 文档中的超链接,确保文档信息准确、导航便捷,从而带来更好的用户体验。
本教程需要用到 Spire.PDF for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.PDF如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.PDF for Python
在 PDF 文档中,超链接实际上是以注释形式展示在页面上的链接内容上的。因此,在编辑超链接时,就需要先通过 PdfPageBase.AnnotationsWidget 属性获取 PDF 页面的所有注释。之后便可以获取任意一个作为超链接的注释,并通过 PdfTextWebLinkAnnotationWidget.Url 属性来修改其链接地址。以下是详细操作步骤:
from spire.pdf.common import *
from spire.pdf import *
# 创建PdfDocument类的对象并加载PDF文档
pdf = PdfDocument()
pdf.LoadFromFile("示例.pdf")
# 获取文档的第一页
page = pdf.Pages.get_Item(0)
# 获取页面上的所有批注
widgetCollection = page.AnnotationsWidget
# 获取第二个超链接批注
annotation = widgetCollection.get_Item(1)
# 将超链接批注转换为PdfTextWebLinkAnnotationWidget对象
link = PdfTextWebLinkAnnotationWidget(annotation)
# 为第二个超链接设置一个新的目标地址
link.Url = "http://baike.eepw.com.cn/baike/showedition/id/462"
# 保存文档
pdf.SaveToFile("output/编辑超链接.pdf")
pdf.Close()
Spire.PDF for Python 中的 PdfPageBase.AnnotationsWidget.RemoveAt() 方法能够帮助开发者轻松删除 PDF 页面上的指定超链接。此外,开发人员还可以借助 Spire.PDF for Python 遍历 PDF 文档的每一页及每页上的所有注释,识别出整个 PDF 文档中的所有超链接注释并删除。以下是详细操作步骤:
from spire.pdf import *
from spire.pdf.common import *
# 创建PdfDocument类的对象并加载PDF文档
pdf = PdfDocument()
pdf.LoadFromFile("示例.pdf")
# 移除第一页上的第一个超链接
#page = pdf.Pages.get_Item(0)
#page.AnnotationsWidget.RemoveAt(0)
# 移除所有超链接
# 循环遍历文档中的每一页
for j in range(pdf.Pages.Count):
# 获取每一页
page = pdf.Pages.get_Item(j)
# 获取每一页上的注释
annotations = page.AnnotationsWidget
# 检查注释是否为空
if annotations.Count > 0:
# 循环遍历注释
i = annotations.Count - 1
while i >=0:
# 获取一个注释
annotation = annotations.get_Item(i)
# 检查注释是否为超链接
if isinstance(annotation, PdfTextWebLinkAnnotationWidget):
# 移除为超链接的注释
annotations.Remove(annotation)
i -= 1
# 保存文档
pdf.SaveToFile("output/移除超链接.pdf")
pdf.Close()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.Office 8.11.2已发布。在该版本中,Spire.Doc公开了枚举 Spire.Doc.Publics.Drawing.FontStyle;Spire.PDF 新增 PdfImageHelper 接口来支持提取图片、删除图片、替换图片以及压缩图片;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
新功能:
问题修复:
新功能:
// Delete image:
imageHelper.DeleteImage(imageInfos[0]);
// Extract images:
int index = 0;
foreach (PdfImageInfo info in imageInfos)
{
info.Image.Save(outputFile_I + string.Format("Image-{0}.png", index));
index++;
}
// Replace image:
PdfImage image = PdfImage.FromFile(TestUtil.DataPath + "ImgFiles/E-iceblue logo.png");
imageHelper.ReplaceImage(imageInfos[0], image);
// Compress images:
foreach (PdfPageBase page in doc.Pages)
{
foreach (PdfImageInfo info in imageHelper.GetImagesInfo(page))
{
bool success = info.TryCompressImage();
}
}问题修复:
问题修复:
新功能:
byte[] svgByte = shape.SaveAsSvgInSlide();
FileStream fs = new FileStream("shapePath_" + num + ".svg", FileMode.Create);
fs.Write(svgByte, 0, svgByte.Length);
fs.Close();IAutoShape autoShape = shape as IAutoShape;
SizeF size = autoShape.TextFrame.GetTextSize();Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
ISlide slide = ppt.Slides[0];
for (int i = 0; i < slide.Shapes.Count; i++)
{
IAutoShape shape = (IAutoShape)slide.Shapes[i];
File.AppendAllText(outputFile, "shape" + i + ":" + "\r\n");
IList <LineText> lines = shape.TextFrame.GetLayoutLines();
for (int j = 0; j < lines.Count; j++)
{
File.AppendAllText(outputFile,"line[" + j + "]:" + lines[j].Text + "\r\n");
}
}Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
OleObjectCollection oles = ppt.Slides[0].OleObjects;
OleObject oleObject = oles[0];
StringBuilder sb = new StringBuilder();
sb.AppendLine("ShapeID="+oleObject.ShapeID);
foreach(DictionaryEntry entry in oleObject.Properties)
{
sb.AppendLine(entry.Key+":" +entry.Value);
}
File.AppendAllText(outputFile, sb.ToString());问题修复:
一个 Excel 工作簿可以由一个或多个工作表组成,其中每个工作表都是相互独立的。在创建新 Excel 文件或操作现有 Excel 文件时,我们可以根据需要添加工作表,以便更好地管理和分析数据。本文将展示如何使用 Spire.XLS for 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 允许用户使用 Workbook.Worksheets.Add(sheetName) 方法在现有 Excel 文件中添加新工作表。具体步骤如下:
from spire.xls import *
from spire.xls.common import *
inputFile = "数据表.xlsx"
outputFile = "Excel插入工作表.xlsx"
# 创建Workbook类的对象
workbook = Workbook()
# 加载一个Excel文档
workbook.LoadFromFile(inputFile)
# 在该文档中插入一个新的工作表
sheet = workbook.Worksheets.Add("新工作表")
# 在新工作表指定单元格中添加文字
sheet.Range["A1"].Text = "在Excel中插入一个新的工作表"
# 保存结果文件
workbook.SaveToFile(outputFile, ExcelVersion.Version2016)
workbook.Dispose()
除了为现有 Excel 文件添加工作表外,您还可以使用同样的方法为新创建的 Excel 文件添加工作表。只需在添加前调用 Workbook.Worksheets.Clear() 方法删除默认工作表即可。具体步骤如下:
from spire.xls import *
from spire.xls.common import *
outputFile = "添加工作表.xlsx"
# 创建Workbook类的对象
workbook = Workbook()
# 删除默认工作表
workbook.Worksheets.Clear()
# 在Excel文档中添加新工作表
sheet = workbook.Worksheets.Add("新工作表")
# 在新工作表指定单元格中添加文字
sheet.Range["A1"].Text = "在Excel中添加一个新工作表"
# 保存结果文件
workbook.SaveToFile(outputFile, ExcelVersion.Version2016)
workbook.Dispose()
如果要在新创建的 Excel 文件中添加多个工作表,可以使用 Workbook.CreateEmptySheets(sheetCount) 方法来添加指定数量的工作表。具体步骤如下:
from spire.xls import *
from spire.xls.common import *
outputFile = "添加多个工作表.xlsx"
# 创建Workbook类的对象
workbook = Workbook()
# 在Excel文档中添加3个新工作表
sheetCount = 3
workbook.CreateEmptySheets(sheetCount)
# 遍历所有添加的工作表
for i in range(sheetCount):
# 在每个工作表指定单元格中添加文字
sheet = workbook.Worksheets[i]
sheet.Range["A1"].Text = "工作表 {}".format(i+1)
# 保存结果文件
workbook.SaveToFile(outputFile, ExcelVersion.Version2016)
workbook.Dispose()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.Presentation 8.11.1 已发布。本次更新新增支持多项功能,如获取形状中文本区域的高度和宽度以及获取形状中多行的文本。此外,本次更新还修复了执行 shape.TextFrame.GetTextLocation() 方法时程序抛出 System.InvalidCastException 异常的问题。详情请阅读以下内容。
新功能:
byte[] svgByte = shape.SaveAsSvgInSlide();
FileStream fs = new FileStream("shapePath_" + num + ".svg", FileMode.Create);
fs.Write(svgByte, 0, svgByte.Length);
fs.Close();IAutoShape autoShape = shape as IAutoShape;
SizeF size = autoShape.TextFrame.GetTextSize();Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
ISlide slide = ppt.Slides[0];
for (int i = 0; i < slide.Shapes.Count; i++)
{
IAutoShape shape = (IAutoShape)slide.Shapes[i];
File.AppendAllText(outputFile, "shape" + i + ":" + "\r\n");
IList <LineText> lines = shape.TextFrame.GetLayoutLines();
for (int j = 0; j < lines.Count; j++)
{
File.AppendAllText(outputFile,"line[" + j + "]:" + lines[j].Text + "\r\n");
}
}Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
OleObjectCollection oles = ppt.Slides[0].OleObjects;
OleObject oleObject = oles[0];
StringBuilder sb = new StringBuilder();
sb.AppendLine("ShapeID="+oleObject.ShapeID);
foreach(DictionaryEntry entry in oleObject.Properties)
{
sb.AppendLine(entry.Key+":" +entry.Value);
}
File.AppendAllText(outputFile, sb.ToString());问题修复:
Spire.Office for C++ 8.11.0 已发布。该版本新增支持Linux平台。Spire.PDF for C++新增支持PdfMarker类型。此外,一些已知问题也在该版本中得到修复。详情请阅读以下内容。
获取 Spire.Office for C++ 8.11.0请点击:https://www.e-iceblue.cn/Downloads/Spire-Office-CPP.html
新功能:
intrusive_ptr<PdfDocument> doc = new PdfDocument();
intrusive_ptr<PdfNewPage> page = Object::Dynamic_cast<PdfNewPage>(doc->GetPages()->Add());
intrusive_ptr<PdfMarker> marker = new PdfMarker(PdfUnorderedMarkerStyle::CustomImage);
marker->SetImage(PdfImage::FromFile(inputFile_Img.c_str()));
std::wstring listContent = L"Data Structure\n";
listContent += L"Algorithm\n";
listContent += L"Computer Newworks\n";
listContent += L"Operating System\n";
listContent += L"C Programming\n";
listContent += L"Computer Organization and Architecture";
intrusive_ptr<PdfList> list = new PdfList(listContent.c_str());
list->SetIndent(2);
list->SetTextIndent(4);
list->SetMarker(marker);
((intrusive_ptr<PdfLayoutWidget>)list)->Draw(page, 100, 100);
doc->SaveToFile(outputFile.c_str(), FileFormat::PDF);
doc->Close();问题修复: