Spire.Presentation 7.7.5 已发布。此版本支持创建 PowerPoint 2016 中新增的图表类型。即Waterfall,Treemap、Boxandwhisker,Histogram,Pareto,SunBurst。 该版本还提供了支持裁剪幻灯片图片的 SlidePicture.Crop() 方法,并提供了 InsertPicture(stream) 方法将图片从文件流插入到幻灯片中。详情请阅读以下内容。
新功能:
SlidePicture slidePicture = (SlidePicture)presentation.Slides[0].Shapes[0];
slidePicture.Crop(float x, float y, float width, float height);presentation.Slides[0].Shapes[0].InsertPicture(Stream stream) public void CreateWaterFall(Presentation ppt)
{
IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.WaterFall, new RectangleF(50, 50, 500, 400), false);
chart.ChartData[0, 1].Text = "Series 1";
string[] categories = { "Category 1", "Category 2", "Category 3", "Category 4", "Category 5", "Category 6", "Category 7" };
for (int i = 0; i < categories.Length; i++)
{
chart.ChartData[i + 1, 0].Text = categories[i];
}
double[] values = { 100, 20, 50, -40, 130, -60, 70 };
for (int i = 0; i < values.Length; i++)
{
chart.ChartData[i + 1, 1].NumberValue = values[i];
}
chart.Series.SeriesLabel = chart.ChartData[0, 1, 0, 1];
chart.Categories.CategoryLabels = chart.ChartData[1, 0, categories.Length, 0];
chart.Series[0].Values = chart.ChartData[1, 1, values.Length, 1];
ChartDataPoint chartDataPoint = new ChartDataPoint(chart.Series[0]);
chartDataPoint.Index = 2;
chartDataPoint.SetAsTotal = true;
chart.Series[0].DataPoints.Add(chartDataPoint);
ChartDataPoint chartDataPoint2 = new ChartDataPoint(chart.Series[0]);
chartDataPoint2.Index = 5;
chartDataPoint2.SetAsTotal = true;
chart.Series[0].DataPoints.Add(chartDataPoint2);
chart.Series[0].ShowConnectorLines = true;
chart.Series[0].DataLabels.LabelValueVisible = true;
chart.ChartLegend.Position = ChartLegendPositionType.Right;
chart.ChartTitle.TextProperties.Text = "WaterFall";
}
public void CreateTreeMap(Presentation ppt)
{
IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.TreeMap, new RectangleF(50, 50, 500, 400), false);
chart.ChartData[0, 3].Text = "Series 1";
string[,] categories = {{"Branch 1","Stem 1","Leaf 1"},{"Branch 1","Stem 1","Leaf 2"},{"Branch 1","Stem 1", "Leaf 3"},
{"Branch 1","Stem 2","Leaf 4"},{"Branch 1","Stem 2","Leaf 5"},{"Branch 1","Stem 2","Leaf 6"},{"Branch 1","Stem 2","Leaf 7"},
{"Branch 2","Stem 3","Leaf 8"},{"Branch 2","Stem 3","Leaf 9"},{"Branch 2","Stem 4","Leaf 10"},{"Branch 2","Stem 4","Leaf 11"},
{"Branch 2","Stem 5","Leaf 12"},{"Branch 3","Stem 5","Leaf 13"},{"Branch 3","Stem 6","Leaf 14"},{"Branch 3","Stem 6","Leaf 15"}};
for (int i = 0; i < 15; i++)
{
for (int j = 0; j < 3; j++)
chart.ChartData[i + 1, j].Text = categories[i, j];
}
double[] values = { 17, 23, 48, 22, 76, 54, 77, 26, 44, 63, 10, 15, 48, 15, 51 };
for (int i = 0; i < values.Length; i++)
{
chart.ChartData[i + 1, 3].NumberValue = values[i];
}
chart.Series.SeriesLabel = chart.ChartData[0, 3, 0, 3];
chart.Categories.CategoryLabels = chart.ChartData[1, 0, values.Length, 2];
chart.Series[0].Values = chart.ChartData[1, 3, values.Length, 3];
chart.Series[0].DataLabels.CategoryNameVisible = true;
chart.Series[0].TreeMapLabelOption = TreeMapLabelOption.Banner;
chart.ChartTitle.TextProperties.Text = "TreeMap";
chart.HasLegend = true;
chart.ChartLegend.Position = ChartLegendPositionType.Top;
}
public void CreateSunBurs(Presentation ppt)
{
IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.SunBurst, new RectangleF(50, 50, 500, 400), false);
chart.ChartData[0, 3].Text = "Series 1";
string[,] categories = {{"Branch 1","Stem 1","Leaf 1"},{"Branch 1","Stem 1","Leaf 2"},{"Branch 1","Stem 1", "Leaf 3"},
{"Branch 1","Stem 2","Leaf 4"},{"Branch 1","Stem 2","Leaf 5"},{"Branch 1","Leaf 6",null},{"Branch 1","Leaf 7", null},
{"Branch 2","Stem 3","Leaf 8"},{"Branch 2","Leaf 9",null},{"Branch 2","Stem 4","Leaf 10"},{"Branch 2","Stem 4","Leaf 11"},
{"Branch 2","Stem 5","Leaf 12"},{"Branch 3","Stem 5","Leaf 13"},{"Branch 3","Stem 6","Leaf 14"},{"Branch 3","Leaf 15",null}};
for (int i = 0; i < 15; i++)
{
for (int j = 0; j < 3; j++)
chart.ChartData[i + 1, j].Value = categories[i, j];
}
double[] values = { 17, 23, 48, 22, 76, 54, 77, 26, 44, 63, 10, 15, 48, 15, 51 };
for (int i = 0; i < values.Length; i++)
{
chart.ChartData[i + 1, 3].NumberValue = values[i];
}
chart.Series.SeriesLabel = chart.ChartData[0, 3, 0, 3];
chart.Categories.CategoryLabels = chart.ChartData[1, 0, values.Length, 2];
chart.Series[0].Values = chart.ChartData[1, 3, values.Length, 3];
chart.Series[0].DataLabels.CategoryNameVisible = true;
chart.ChartTitle.TextProperties.Text = "SunBurst";
chart.HasLegend = true;
chart.ChartLegend.Position = ChartLegendPositionType.Top;
}
public void CreatePareto(Presentation ppt)
{
IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.Pareto, new RectangleF(50, 50, 500, 400), false);
chart.ChartData[0, 1].Text = "Series 1";
string[] categories = { "Category 1", "Category 2", "Category 4", "Category 3", "Category 4", "Category 2", "Category 1",
"Category 1", "Category 3", "Category 2", "Category 4", "Category 2", "Category 3",
"Category 1", "Category 3", "Category 2", "Category 4", "Category 1", "Category 1",
"Category 3", "Category 2", "Category 4", "Category 1", "Category 1", "Category 3",
"Category 2", "Category 4", "Category 1"};
for (int i = 0; i < categories.Length; i++)
{
chart.ChartData[i + 1, 0].Text = categories[i];
}
double[] values = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
for (int i = 0; i < values.Length; i++)
{
chart.ChartData[i + 1, 1].NumberValue = values[i];
}
chart.Series.SeriesLabel = chart.ChartData[0, 1, 0, 1];
chart.Categories.CategoryLabels = chart.ChartData[1, 0, categories.Length, 0];
chart.Series[0].Values = chart.ChartData[1, 1, values.Length, 1];
chart.PrimaryCategoryAxis.IsBinningByCategory = true;
chart.Series[1].Line.FillFormat.FillType = FillFormatType.Solid;
chart.Series[1].Line.FillFormat.SolidFillColor.Color = Color.Red;
chart.ChartTitle.TextProperties.Text = "Pareto";
chart.HasLegend = true;
chart.ChartLegend.Position = ChartLegendPositionType.Bottom;
}
public void CreateHistogram(Presentation ppt)
{
IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.Histogram, new RectangleF(50, 50, 500, 400), false);
chart.ChartData[0, 0].Text = "Series 1";
double[] values = { 1, 1, 1, 3, 3, 3, 3, 5, 5, 5, 8, 8, 8, 9, 9, 9, 12, 12, 13, 13, 17, 17, 17, 19,
19, 19, 25, 25, 25, 25, 25, 25, 25, 25, 29, 29, 29, 29, 32, 32, 33, 33, 35, 35, 41, 41, 44, 45, 49, 49 };
for (int i = 0; i < values.Length; i++)
{
chart.ChartData[i + 1, 1].NumberValue = values[i];
}
chart.Series.SeriesLabel = chart.ChartData[0, 0, 0, 0];
chart.Series[0].Values = chart.ChartData[1, 0, values.Length, 0];
chart.PrimaryCategoryAxis.NumberOfBins = 7;
chart.PrimaryCategoryAxis.GapWidth = 20;
chart.ChartTitle.TextProperties.Text = "Histogram";
chart.ChartLegend.Position = ChartLegendPositionType.Bottom;
}
public void CreateBoxAndWhisker(Presentation ppt)
{
IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.BoxAndWhisker, new RectangleF(50, 50, 500, 400), false);
string[] seriesLabel = { "Series 1", "Series 2", "Series 3" };
for (int i = 0; i < seriesLabel.Length; i++)
{
chart.ChartData[0, i + 1].Text = "Series 1";
}
string[] categories = {"Category 1", "Category 1", "Category 1", "Category 1", "Category 1", "Category 1", "Category 1",
"Category 2", "Category 2", "Category 2", "Category 2", "Category 2", "Category 2",
"Category 3", "Category 3", "Category 3", "Category 3", "Category 3"};
for (int i = 0; i < categories.Length; i++)
{
chart.ChartData[i + 1, 0].Text = categories[i];
}
double[,] values = new double[18, 3]{{-7,-3,-24},{-10,1,11},{-28,-6,34},{47,2,-21},{35,17,22},{-22,15,19},{17,-11,25},
{-30,18,25},{49,22,56},{37,22,15},{-55,25,31},{14,18,22},{18,-22,36},{-45,25,-17},
{-33,18,22},{18,2,-23},{-33,-22,10},{10,19,22}};
for (int i = 0; i < seriesLabel.Length; i++)
{
for (int j = 0; j < categories.Length; j++)
{
chart.ChartData[j + 1, i + 1].NumberValue = values[j, i];
}
}
chart.Series.SeriesLabel = chart.ChartData[0, 1, 0, seriesLabel.Length];
chart.Categories.CategoryLabels = chart.ChartData[1, 0, categories.Length, 0];
chart.Series[0].Values = chart.ChartData[1, 1, categories.Length, 1];
chart.Series[1].Values = chart.ChartData[1, 2, categories.Length, 2];
chart.Series[2].Values = chart.ChartData[1, 3, categories.Length, 3];
chart.Series[0].ShowInnerPoints = false;
chart.Series[0].ShowOutlierPoints = true;
chart.Series[0].ShowMeanMarkers = true;
chart.Series[0].ShowMeanLine = true;
chart.Series[0].QuartileCalculationType = QuartileCalculation.ExclusiveMedian;
chart.Series[1].ShowInnerPoints = false;
chart.Series[1].ShowOutlierPoints = true;
chart.Series[1].ShowMeanMarkers = true;
chart.Series[1].ShowMeanLine = true;
chart.Series[1].QuartileCalculationType = QuartileCalculation.InclusiveMedian;
chart.Series[2].ShowInnerPoints = false;
chart.Series[2].ShowOutlierPoints = true;
chart.Series[2].ShowMeanMarkers = true;
chart.Series[2].ShowMeanLine = true;
chart.Series[2].QuartileCalculationType = QuartileCalculation.ExclusiveMedian;
chart.HasLegend = true;
chart.ChartTitle.TextProperties.Text = "BoxAndWhisker";
chart.ChartLegend.Position = ChartLegendPositionType.Top;
}https://www.e-iceblue.cn/Downloads/Spire-Presentation-NET.html
Spire.Office for Java 7.7.1 已发布。本次更新包含一些新功能,如:Spire.Doc for Java 支持比较 Word 文件时设置比较级别;Spire.XLS for Java 支持给图表系列标记填充自定义图片。此外,很多已知问题也被成功修复。详情请阅读以下内容。
获取Spire.Office for Java 7.7.1请点击:https://www.e-iceblue.cn/Downloads/Spire-Office-JAVA.html
新功能:
Document doc1 = new Document();
doc1.loadFromFile("input1.docx");
Document doc2 = new Document();
doc2.loadFromFile("input2.docx");
doc1.compare(doc2,"user");
//setting comparison level
CompareOptions options = new CompareOptions();
options.setLevel(ComparisonLevel.Character);
doc1.saveToFile("result.docx", FileFormat.Docx_2013);问题修复:
新功能:
IShapeFill markerFill = chart.getSeries().get(0).getDataFormat().getMarkerFill();
markerFill.customPicture("pic.png");
markerFill.setTexture(...);
markerFill.SetPattern(...);
//If use pattern filling, foreground color and backgroud color are needed.
markerFill.setForeColor(...);
markerFill.setBackColor(...);Workbook workbook = new Workbook();
workbook.loadFromFile("input.uos");
workbook.saveToFile("output.uos", FileFormat.UOS);问题修复:
问题修复:
Spire.XLS 12.7.1已发布。本次更新支持在导出DataTable时,设置是否保持数据的数字格式。并且支持计算“UNICODE”公式。此外,还修复了插入公式后,公式未计算出结果等已知问题。详情请阅读以下内容。
新功能:
ExportTableOptions options = new ExportTableOptions();
options.KeepDataFormat = false;
DataTable table = sheet.ExportDataTable(1, 1, sheet.LastDataRow, sheet.LastDataColumn, options);问题修复:
Spire.XLS for Java 12.7.0 已发布。此版本支持给图表系列标记填充自定义图片。并且支持加载和保存UOS格式文档。此外,还修复了更新透视表数据不正确等已知问题。详情请阅读以下内容。
新功能:
IShapeFill markerFill = chart.getSeries().get(0).getDataFormat().getMarkerFill();
markerFill.customPicture("pic.png");
markerFill.setTexture(...);
markerFill.SetPattern(...);
//If use pattern filling, foreground color and backgroud color are needed.
markerFill.setForeColor(...);
markerFill.setBackColor(...);Workbook workbook = new Workbook();
workbook.loadFromFile("input.uos");
workbook.saveToFile("output.uos", FileFormat.UOS);问题修复:
Spire.Doc for Java 10.7.4 已发布。此版本新增支持比较Word文件时设置比较级别。该版本还增强了 Word 文档到 PDF 和图片的转换。此外,还修复了一些已知问题,如何两个Word文件合并后内容不正确等问题。详情请阅读以下内容。
新功能:
Document doc1 = new Document();
doc1.loadFromFile("input1.docx");
Document doc2 = new Document();
doc2.loadFromFile("input2.docx");
//setting comparison level
CompareOptions options = new CompareOptions();
options.setLevel(ComparisonLevel.Character);
doc1.compare(doc2,"user");
doc1.saveToFile("result.docx", FileFormat.Docx_2013);问题修复:
Spire.Doc 10.7已发布。该版本在使用新引擎转换Word到PDF时,支持保留文本方向。同时该版本也做出了一些调整,例如放弃了public IStyle FindById(int styleId)和public IStyle FindByIstd(int istd)方法,公开了public IStyle FindByIdentifier(int sIdentifier)方法。除此之外,该版本还修复了一系列已知问题,例如在转换Word到PDF时,分页不正确的问题。详情请阅读以下内容。
新功能:
功能调整:
问题修复:
PowerPoint 幻灯片中可插入公式。插入的公式能够有效地为幻灯片内容提供论点的论证、推算的理论支撑。通过使用 Spire.Presentation for Java,可在 Java 后端程序中通过调用 IAutoShape.getTextFrame().getParagraphs().addParagraphFromLatexMathCode() 方法来实现插入公式。本文将对此作详细介绍。
首先,您需要在 Java 程序中添加 Spire.Presentation.jar 文件作为依赖项。JAR 文件可以从此链接下载。如果您使用 Maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而轻松地在应用程序中导入 JAR 文件。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.presentation</artifactId>
<version>11.9.10</version>
</dependency>
</dependencies>
下面是在幻灯片中插入公式的主要方法及步骤:
import com.spire.presentation.*;
import com.spire.presentation.drawing.FillFormatType;
import java.awt.geom.Rectangle2D;
public class AddFormula {
public static void main(String[] args) throws Exception{
//定义LaTeX公式代码
String latexCode1 = "x^{2} + \\sqrt{x^{2}+1}=2";
String latexCode2 = "F(x) &= \\int^a_b \frac{1}{3}x^3";
String latexCode3 = "\\alpha + \\beta \\geq \\gamma";
String latexCode4 = "\\overrightarrow{abc}";
String latexCode5 =" H_x=\\frac{1}{3}\\times{ \\left[ \\begin{array}{ccc}1 & 0 & -1\\\\1 & 0 & -1\\\\1 & 0 & -1\\end{array} \\right ]}";
String latexCode6 = "\\log_a{b}";
//创建Presentation类的实例
Presentation ppt = new Presentation();
//获取第一张幻灯片
ISlide slide = ppt.getSlides().get(0);
//添加形状到幻灯片
IAutoShape shape = slide.getShapes().appendShape(ShapeType.TRIANGLE, new Rectangle2D.Double(30, 100, 320, 50));
shape.getTextFrame().getParagraphs().clear();
//使用LaTeX代码添加数学公式到形状
shape.getTextFrame().getParagraphs().addParagraphFromLatexMathCode(latexCode1);
//重复以上操作,添加形状,并添加公式到形状
shape = slide.getShapes().appendShape(ShapeType.TRIANGLE, new Rectangle2D.Double(280, 80, 380, 70));
shape.getTextFrame().getParagraphs().clear();
shape.getTextFrame().getParagraphs().addParagraphFromLatexMathCode(latexCode2);
shape = slide.getShapes().appendShape(ShapeType.TRIANGLE, new Rectangle2D.Double(60, 190, 240, 40));
shape.getTextFrame().getParagraphs().clear();
shape.getTextFrame().getParagraphs().addParagraphFromLatexMathCode(latexCode3);
shape = slide.getShapes().appendShape(ShapeType.TRIANGLE, new Rectangle2D.Double(350, 190, 200, 40));
shape.getTextFrame().getParagraphs().clear();
shape.getTextFrame().getParagraphs().addParagraphFromLatexMathCode(latexCode4);
shape = slide.getShapes().appendShape(ShapeType.TRIANGLE, new Rectangle2D.Double(10, 240, 400, 100));
shape.getTextFrame().getParagraphs().clear();
shape.getTextFrame().getParagraphs().addParagraphFromLatexMathCode(latexCode5);
shape = slide.getShapes().appendShape(ShapeType.TRIANGLE, new Rectangle2D.Double(350, 280, 200, 40));
shape.getTextFrame().getParagraphs().clear();
shape.getTextFrame().getParagraphs().addParagraphFromLatexMathCode(latexCode6);
//设置形状边框和填充类型
for (int i = 0; i < slide.getShapes().getCount(); i++)
{
slide.getShapes().get(i).getFill().setFillType(FillFormatType.NONE);
slide.getShapes().get(i).getLine().setFillType(FillFormatType.NONE);
}
//保存文档
ppt.saveToFile("MathEquations.pptx", FileFormat.PPTX_2013);
ppt.dispose();
}
}
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.Office 7.7.2 已发布。该版本进行了一些功能更新,如:Spire.PDF 支持加载OFD文件流,并且在WPF程序集中添加了接口支持设置打印选项;Spire.Doc 支持用新引擎转换 Word 到 PDF 时,将 Word 的目录转换为 PDF 中对应的书签以及取消文档中的超链接;Spire.XLS 提供接口支持设置是否应用样式到行和列。此外,此版本还修复了许多已知问题。详情请阅读以下内容。
该版本涵盖了最新版的Spire.Doc,Spire.PDF,Spire.XLS,Spire.Email,Spire.DocViewer, Spire.PDFViewer,Spire.Presentation,Spire.Spreadsheet, Spire.OfficeViewer, Spire.DocViewer, Spire.Barcode, Spire.DataExport。
版本信息如下:
https://www.e-iceblue.cn/Downloads/Spire-Office-NET.html
新功能:
if (annotation is PdfLineAnnotationWidget)
{
PdfLineAnnotationWidget lineAnn = annotation as PdfLineAnnotationWidget;
//PdfLineAnnotation lineAnn = annotation as PdfLineAnnotation;
lineAnn.Author = "Author_test";
lineAnn.Subject = "Subject_test";
}checkboxField.ForeColor = new PdfRGBColor(Color.Red);PdfStringFormat format = new PdfStringFormat();
PdfTrueTypeFont font = new PdfTrueTypeFont(new System.Drawing.Font("Times New Roman", 10));
PdfPen pen = PdfPens.Black;
PdfSolidBrush brush = new PdfSolidBrush(Color.Black);
PdfDocument doc = new PdfDocument("HelloWord.pdf");
PdfLogicalStructure tree = PdfLogicalStructure.CreateLogicalStructure(doc);
PdfStructureElement article = tree.AppendChildElement(PdfStandardStructTypes.Article);
article.Title = "create tagged pdf";
PdfStructureElement paragraph1 = article.AppendChildElement(PdfStandardStructTypes.Paragraph);
paragraph1.Title = "text paragraph1";
int mcid = 0;
paragraph1.BeginMarkedContentSequence(doc.Pages[0].Canvas, "paragraph1", mcid);
doc.Pages[0].Canvas.DrawString("paragraph1: PDF’s logical structure facilities (PDF 1.3) provide a mechanism for " +
"incorporating structural information about a document’s content into a PDF file. Such information might include, " +
"for example, the organization of the document into chapters and sections or the identification of special elements " +
"such as figures, tables, and footnotes. The logical structure facilities are extensible, allowing applications that " +
"produce PDF files to choose what structural information to include and how to represent it, while enabling PDF " +
"consumers to navigate a file without knowing the producer’s structural conventions.",
font, pen, brush, new Rectangle(40, 200, 480, 80), format);
paragraph1.EndMarkedContentSequence(doc.Pages[0].Canvas);
paragraph1.ReferenceContent(doc.Pages[0], mcid);
PdfStructureElement paragraph2 = article.AppendChildElement(PdfStandardStructTypes.Paragraph);
paragraph2.Title = "text paragraph2";
mcid = 1;
paragraph2.BeginMarkedContentSequence(doc.Pages[0].Canvas, "paragraph2", mcid);
doc.Pages[0].Canvas.DrawString("paragraph2: PDF logical structure shares basic features with standard document markup languages" +
" such as HTML, SGML, and XML. A document’s logical structure is expressed as a hierarchy of structure elements, each" +
" represented by a dictionary object. Like their counterparts in other markup languages, PDF structure elements can" +
" have content and attributes. In PDF, rendered document content takes over the role occupied by text in HTML, SGML, and XML.",
font, pen, brush, new Rectangle(40, 280, 480, 60), format);
paragraph2.EndMarkedContentSequence(doc.Pages[0].Canvas);
paragraph2.ReferenceContent(doc.Pages[0], mcid);
doc.SaveToFile("Tagged.pdf");Stream stream = File.OpenRead(inputFile);
OfdConverter converter = new OfdConverter(stream);
MemoryStream ms = new MemoryStream();
converter.ToPdf(ms);PdfDocument.Print(PdfPrintSettings printSettings)问题修复:
新功能:
ToPdfParameterList toPdf = new ToPdfParameterList();
toPdf.CreateWordBookmarks = true;
toPdf.CreateWordBookmarksUsingHeadings = true;
document.setUseNewEngine(true);
document.saveToFile("output.pdf",toPdf);ToPdfParameterList toPdf = new ToPdfParameterList();
toPdf.DisableLink = true;
document.setUseNewEngine(true);
document.saveToFile("output.pdf",toPdf);问题修复:
新功能:
worksheet.ApplyStyle(style, applyRowStyle, applyColumnStyle)问题修复:
问题修复:
问题修复:
问题修复:
Spire.Presentation 7.7.1 已发布。该版本增强了PPT到PDF的转换功能,并修复了加载保存PPTX, 文档打开报内容有错等已知问题。详情请阅读以下内容。
问题修复:
https://www.e-iceblue.cn/Downloads/Spire-Presentation-NET.html
Spire.PDF for Java 8.7.0 已发布。此版本增强了 PDF 到 Word、 Excel、 HTML 、图片、 GrayPdf 和 PDFA3A 以及 SVG 到 PDF 的转换功能。此外,还修复了一些已知问题,如查找文本时,找到的位置不正确。详情请阅读以下内容。
问题修复: