Spire.Doc 10.3.5已发布。此次更新增强了Docx到HTML、Docx到PDF的转换功能。详情请阅读以下内容。
问题修复:
图片即信息的视觉表示。在我们的文档中添加图片可以帮助我们以简单方便且赏心悦目的方式表达我们的想法。在本文中,我们将介绍如何在 Java 中使用 Spire.XLS for Java 库给 Excel 文档插入图片。
首先,您需要将 Spire.Xls.jar 文件作为依赖项添加到您的 Java 程序中。可以从此链接下载 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.xls</artifactId>
<version>15.11.3</version>
</dependency>
</dependencies>
以下是将图片从磁盘插入至 Excel 的步骤:
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class InsertImageFromDisk {
public static void main(String[] args){
//初始化Workbook实例
Workbook workbook = new Workbook();
//获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//将图片插入工作表
sheet.getPictures().add(1, 1,"C:\\Users\\Administrator\\Desktop\\sample.jpg");
//保存结果文档
workbook.saveToFile("InsertImageFromDisk.xlsx", ExcelVersion.Version2016);
}
}
以下是将 Web 图像从 URL 插入 Excel 工作表的步骤:
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
public class InsertWebImage {
public static void main(String[] args) throws IOException {
//初始化工作簿实例
Workbook workbook = new Workbook();
//获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//初始化一个URL实例,从指定的URL获取图片
URL url = new URL("https://www.e-iceblue.com/downloads/demo/Logo.png");
//将图片读入BufferedImage对象
BufferedImage bufferedImage = ImageIO.read(url);
//将图片插入工作表
sheet.getPictures().add(3, 2, bufferedImage );
//保存结果文档
workbook.saveToFile("InsertWebImage.xlsx", ExcelVersion.Version2016);
}
}
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 获取有效期 30 天的临时许可证。
Spire.PDF for Java 5.3.1已发布。该版本支持将PDF转换为灰度文档,还增强了PDF到PDFA1B的转换功能。此外还修复了获取的复选框项值不正确等已知问题。详情请阅读以下内容。
新功能:
PdfGrayConverter converter = new PdfGrayConverter("ConvertToGrayPdf.pdf");
converter.toGrayPdf("output.pdf");
问题修复:
Spire.Presentation 7.3.1已发布。该版本增强了PPTX到PDF的转换,并修复了图表形状添加动画效果后效果不正确等已知问题。详情请阅读以下内容。
问题修复:
https://www.e-iceblue.cn/Downloads/Spire-Presentation-NET.html
当您想将 Word 文档放到 Web 上时,建议您将 Word 文档转换为 HTML 便于文档通过网页访问。本文将演示如何通过 C# 和 VB.NET 使用 Spire.Doc for .NET 以编程方式将 Word 转换为 HTML。
首先,您需要添加 Spire.Doc for .NET 包中包含的 DLL 文件作为.NET项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.Doc以下步骤向您展示如何使用 Spire.Doc for .NET 将 Word 转换为 HTML。
using Spire.Doc;
namespace WordToHTML
{
class Program
{
static void Main(string[] args)
{
//创建Document实例
Document mydoc = new Document();
//加载示例Word文档
mydoc.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.docx", FileFormat.Xml);
//保存为HTML
mydoc.SaveToFile("output_WordToHTML.html", FileFormat.Html);
}
}
}Imports Spire.Doc
Namespace WordToHTML
Class Program
Shared Sub Main(ByVal args() As String)
'创建Document实例
Document mydoc = New Document()
'加载示例Word文档
mydoc.LoadFromFile("https://cdn.e-iceblue.cn/C:\Users\Administrator\Desktop\sample.docx", FileFormat.Xml)
'保存为HTML
mydoc.SaveToFile("output_WordToHTML.html", FileFormat.Html)
End Sub
End Class
End Namespace
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 获取有效期 30 天的临时许可证。
HTML 转图像技术能够将动态网页内容(包括文本、图形、CSS 样式和布局)完整转换为 PNG/JPEG 等静态图片格式,完美保留原始页面的视觉呈现效果。该技术特别适用于网页内容存档、生成高质量缩略图、确保跨平台显示一致性等应用场景,同时还能解决动态内容在打印或分享时可能出现的格式问题,为内容传播提供了更可靠的解决方案。
在本文中,您将学习如何使用 C# 和 Spire.Doc for .NET 将 HTML 文件或字符串转换为图片。
首先,您需要添加 Spire.Doc for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.Doc
使用 Spire.Doc for .NET,您可以利用 Document.LoadFromFile() 方法直接加载 HTML 文件。加载完成后,您可以使用 Document.SaveToImages() 方法将文档转换为位图图像。之后,您可以循环查看生成的图像,并将每个图像保存为 PNG、JPG 或 BMP 等广泛使用的图像格式。
以下是如何在 C# 中使用 Spire.Doc 将 HTML 文件转换为图片的步骤:
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;
using System.Drawing.Imaging;
namespace ConvertHtmlFileToPng
{
class Program
{
static void Main(string[] args)
{
// 创建一个Document对象
Document document = new Document();
// 加载 HTML 文件
document.LoadFromFile(@"C:\Users\Administrator\Desktop\MyHtml.html", FileFormat.Html, XHTMLValidationType.None);
// 获取第一个章节
Section section = document.Sections[0];
// 设置页面边距
section.PageSetup.Margins.All = 2;
// 将文档转换为位图图像数组
Image[] images = document.SaveToImages(ImageType.Bitmap);
// 遍历图像
for (int index = 0; index < images.Length; index++)
{
// 指定输出文件名
string fileName = string.Format(@"C:\Users\Administrator\Desktop\Output\image_{0}.png", index);
// 将每个图像保存为 PNG 文件
images[index].Save(fileName, ImageFormat.Png);
}
// 释放资源
document.Dispose();
}
}
}

在某些情况下,您可能需要将 HTML 字符串直接转换为图片。这种方法对于处理动态生成的内容或当您不希望依赖外部 HTML 文件时特别有用。
以下是如何在 C# 中使用 Spire.Doc 将 HTML 字符串转换为图片的步骤:
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;
using System.Drawing.Imaging;
namespace ConvertHtmlStringToPng
{
class Program
{
static void Main(string[] args)
{
// 创建一个Document对象
Document document = new Document();
// 向文档中添加一个节
Section section = document.AddSection();
// 设置页面边距
section.PageSetup.Margins.All = 2;
// 向节中添加一个段落
Paragraph paragraph = section.AddParagraph();
// 从文件中读取HTML字符串
string htmlFilePath = @"C:\Users\Administrator\Desktop\Html_CN.html";
string htmlString = File.ReadAllText(htmlFilePath, System.Text.Encoding.UTF8);
// 将HTML字符串附加到段落
paragraph.AppendHTML(htmlString);
// 将文档转换为Bitmap图像数组
Image[] images = document.SaveToImages(ImageType.Bitmap);
// 迭代这些图像
for (int index = 0; index < images.Length; index++)
{
// 指定输出文件名
string fileName = string.Format(@"C:\Users\Administrator\Desktop\Output\image_{0}.png", index);
// 将每个图像保存为PNG文件
images[index].Save(fileName, ImageFormat.Png);
}
// 释放资源
document.Dispose();
}
}
}

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.XLS for Java 5.3.1已发布。该版本支持创建瀑布图、Pareto直方图、直方图、箱形图、树状图、旭日图、漏斗图,并增强了Excel到PDF、Excel到图片的转换功能。同时修复了获取的签名信息不正确等已知问题。详情请阅读以下内容。
新功能:
Workbookworkbook=newWorkbook();
workbook.loadFromFile("input.xlsx");
Worksheetsheet=workbook.getWorksheets().get(0);
ChartofficeChart=sheet.getCharts().add();
//Setcharttypeaswaterfall
officeChart.setChartType(ExcelChartType.WaterFall);
//Setdatarangetothechartfromtheworksheet
officeChart.setDataRange(sheet.getRange().get("A2:B8"));
//Datapointsettingsastotalinchart
officeChart.getSeries().get(0).getDataPoints().get(3).setAsTotal(true);
officeChart.getSeries().get(0).getDataPoints().get(6).setAsTotal(true);
//Showingtheconnectorlinesbetweendatapoints
officeChart.getSeries().get(0).getFormat().showConnectorLines(true);
//Setthecharttitle
officeChart.setChartTitle("CompanyProfit(inUSD)");
//Formattingdatalabelandlegendoption
officeChart.getSeries().get(0).getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
officeChart.getSeries().get(0).getDataPoints().getDefaultDataPoint().getDataLabels().setSize(8);
officeChart.getLegend().setPosition(LegendPositionType.Right);
workbook.saveToFile("output.xlsx",FileFormat.Version2016);
Workbookworkbook=newWorkbook();
workbook.loadFromFile("input.xlsx");
Worksheetsheet=workbook.getWorksheets().get(0);
ChartofficeChart=sheet.getCharts().add();
//SetcharttypeasPareto
officeChart.setChartType(ExcelChartType.Pareto);
//Setdatarangeintheworksheet
officeChart.setDataRange(sheet.getRange().get("A2:B8"));
//Setcategoryvaluesasbinvalues
officeChart.getPrimaryCategoryAxis().isBinningByCategory(true);
officeChart.getPrimaryCategoryAxis().setOverflowBinValue(5);
officeChart.getPrimaryCategoryAxis().setUnderflowBinValue(1);;
//FormattingParetoline
officeChart.getSeries().get(0).getParetoLineFormat().getLineProperties().setColor(Color.blue);
//Gapwidthsettings
officeChart.getSeries().get(0).getDataFormat().getOptions().setGapWidth(6);
//Setthecharttitle
officeChart.setChartTitle("Expenses");
//Hidingthelegend
officeChart.hasLegend(false);
workbook.saveToFile("output.xlsx",FileFormat.Version2016);
Workbookworkbook=newWorkbook();
workbook.loadFromFile("input.xlsx");
Worksheetsheet=workbook.getWorksheets().get(0);
ChartofficeChart=sheet.getCharts().add();
//Setcharttypeashistogram
officeChart.setChartType(ExcelChartType.Histogram);
//Setdatarangeintheworksheet
officeChart.setDataRange(sheet.getRange().get("A1:A15"));
//Categoryaxisbinsettings
officeChart.getPrimaryCategoryAxis().setBinWidth(8);
//Gapwidthsettings
officeChart.getSeries().get(0).getDataFormat().getOptions().setGapWidth(6);
//Setthecharttitleandaxistitle
officeChart.setChartTitle("HeightData");
officeChart.getPrimaryValueAxis().setTitle("Numberofstudents");
officeChart.getPrimaryCategoryAxis().setTitle("Height");
//Hidingthelegend
officeChart.hasLegend(false);
workbook.saveToFile("output.xlsx",FileFormat.Version2016);
Workbookworkbook=newWorkbook();
workbook.loadFromFile("input.xlsx");
Worksheetsheet=workbook.getWorksheets().get(0);
ChartofficeChart=sheet.getCharts().add();
//Setthecharttitle
officeChart.setChartTitle("YearlyVehicleSales");
//SetcharttypeasBoxandWhisker
officeChart.setChartType(ExcelChartType.BoxAndWhisker);
//Setdatarangeintheworksheet
officeChart.setDataRange(sheet.getRange().get("A1:E17"));
//BoxandWhiskersettingsonfirstseries
ChartSerieseriesA=officeChart.getSeries().get(0);
seriesA.getDataFormat().showInnerPoints(false);
seriesA.getDataFormat().showConnectorLines(true);
seriesA.getDataFormat().showMeanMarkers(true);
seriesA.getDataFormat().showMeanLine(false);
seriesA.getDataFormat().setQuartileCalculationType(ExcelQuartileCalculation.ExclusiveMedian);
//BoxandWhiskersettingsonsecondseries
ChartSerieseriesB=officeChart.getSeries().get(1);
seriesB.getDataFormat().showInnerPoints(false);
seriesB.getDataFormat().showConnectorLines(true);
seriesB.getDataFormat().showMeanMarkers(true);
seriesB.getDataFormat().showMeanLine(false);
seriesB.getDataFormat().setQuartileCalculationType(ExcelQuartileCalculation.InclusiveMedian);
//BoxandWhiskersettingsonthirdseries
ChartSerieseriesC=officeChart.getSeries().get(2);
seriesC.getDataFormat().showInnerPoints(false);
seriesC.getDataFormat().showConnectorLines(true);
seriesC.getDataFormat().showMeanMarkers(true);
seriesC.getDataFormat().showMeanLine(false);
seriesC.getDataFormat().setQuartileCalculationType(ExcelQuartileCalculation.ExclusiveMedian);
workbook.saveToFile("output.xlsx",FileFormat.Version2016);
Workbookworkbook=newWorkbook();
workbook.loadFromFile("input.xlsx");
Worksheetsheet=workbook.getWorksheets().get(0);
ChartofficeChart=sheet.getCharts().add();
//SetcharttypeasTreeMap
officeChart.setChartType(ExcelChartType.TreeMap);
//Setdatarangeintheworksheet
officeChart.setDataRange(sheet.getRange().get("A1:C11"));
//Setthecharttitle
officeChart.setChartTitle("Areabycountries");
//SettheTreemaplabeloption
officeChart.getSeries().get(0).getDataFormat().setTreeMapLabelOption(ExcelTreeMapLabelOption.Banner);
//Formattingdatalabels
officeChart.getSeries().get(0).getDataPoints().getDefaultDataPoint().getDataLabels().setSize(8);
workbook.saveToFile("output.xlsx",FileFormat.Version2016);
Workbookworkbook=newWorkbook();
workbook.loadFromFile("input.xlsx");
Worksheetsheet=workbook.getWorksheets().get(0);
ChartofficeChart=sheet.getCharts().add();
//SetcharttypeasSunburst
officeChart.setChartType(ExcelChartType.SunBurst);
//Setdatarangeintheworksheet
officeChart.setDataRange(sheet.getRange().get("A1:D16"));
//Setthecharttitle
officeChart.setChartTitle("Salesbyannual");
//Formattingdatalabels
officeChart.getSeries().get(0).getDataPoints().getDefaultDataPoint().getDataLabels().setSize(8);
//Hidingthelegend
officeChart.hasLegend(false);
workbook.saveToFile("output.xlsx",FileFormat.Version2016);
Workbook workbook = new Workbook();
workbook.loadFromFile("input.xlsx");
Worksheet sheet = workbook.getWorksheets().get(0);
Chart officeChart = sheet.getCharts().add();
//Set chart type as Funnel
officeChart.setChartType(ExcelChartType.Funnel);
//Set data range in the worksheet
officeChart.setDataRange(sheet.getRange().get("A1:B6"));
//Set the chart title
officeChart.setChartTitle("Funnel");
//Formatting the legend and data label option
officeChart.hasLegend(false);
officeChart.getSeries().get(0).getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
officeChart.getSeries().get(0).getDataPoints().getDefaultDataPoint().getDataLabels().setSize(8);
workbook.saveToFile("output.xlsx", FileFormat.Version2016);
问题修复:
Spire.Doc 10.3.3已发布。此次增强了HTML到Word、Word到PDF和Word到图片的转换功能,同时修复了向Word文档插入图片后,图片内容显示错误等已知问题。详情请阅读以下内容。
问题修复:
在 Microsoft Excel 中,您可以锁定特定单元格让其他用户无法更改其中的数据或公式。在本文中,我们将介绍如何使用 Spire.XLS for Java 库以编程方式在 Java 中锁定 Excel 中的单元格。
首先,您需要在 Java 程序中添加 Spire.XLS for Java 文件作为依赖项。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.xls</artifactId>
<version>15.11.3</version>
</dependency>
</dependencies>
通常来说,工作表中所有的单元格都是默认被选中并锁定的。因此,在锁定单元格或单元格范围之前,必须解锁所有单元格。请记住,在工作表受到保护之前,锁定单元格不会生效。
以下是在 Excel 中锁定特定单元格的步骤:
import com.spire.xls.*;
import java.util.EnumSet;
public class LockCells {
public static void main(String []args){
//创建工作簿实例
Workbook workbook = new Workbook();
//加载Excel文档
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\Input.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//解锁工作表已用范围内的所有单元格
CellRange usedRange = sheet.getRange();
usedRange.getStyle().setLocked(false);
//锁定特定单元格
CellRange cells = sheet.getRange().get("A1:C3");
cells.getStyle().setLocked(true);
//使用密码保护工作表
sheet.protect("123456", EnumSet.of(SheetProtectionType.All));
//保存结果文件
workbook.saveToFile("LockCells.xlsx", ExcelVersion.Version2016);
}
}
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 获取有效期 30 天的临时许可证。
可扩展标记语言(XML)文件是一种标准的文本文件,它使用特定的标记来描述文档的结构以及其他特性。通过将 XML 转换为 PDF,能够便于文件传输及共享。本文,将介绍通过使用 Spire.Doc for .NET 来实现该格式转换的方法。
首先,您需要添加 Spire.Doc for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.Doc以下是实现转换的详细代码步骤:
using Spire.Doc;
namespace XMLtoPDF
{
class Program
{
static void Main(string[] args)
{
//创建Document类的对象
Document doc = new Document();
//加载XML文档
doc.LoadFromFile("sample.xml", FileFormat.Xml);
//保存为PDF文档到指定路径
doc.SaveToFile("XMLToPDF.pdf", FileFormat.PDF);
}
}
}Imports Spire.Doc
Namespace XMLtoPDF
Class Program
Private Shared Sub Main(args As String())
'创建Document类的对象
Dim doc As New Document()
'加载XML文档
doc.LoadFromFile("sample.xml", FileFormat.Xml)
'保存为PDF文档到指定路径
doc.SaveToFile("XMLToPDF.pdf", FileFormat.PDF)
End Sub
End Class
End Namespace
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 获取有效期 30 天的临时许可证。