Spire.PDF 9.4.0 已发布。本次更新新增支持文本表单域的字体大小自动设置。同时,本次更新还增强了OFD 到 PDF 以及PDF 到 图片的转换。此外,该版本修复了许多已知问题,如修复了替换文本后内容出现重叠的问题。详情请阅读以下内容。
新功能:
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile(input);
PdfFormWidget formWidget = pdf.Form as PdfFormWidget;
foreach(PdfField field in formWidget.FieldsWidget.List)
{
if(field is PdfTextBoxFieldWidget)
{
PdfTextBoxFieldWidget textBoxField = field as PdfTextBoxFieldWidget;
if(textBoxField.Name == "Name of the Company")
{
textBoxField.Font = new PdfTrueTypeFont(new Font("Arial", 16), true);
textBoxField.FontSizeAuto = true;
textBoxField.Text = "e-iceblue";
}
}
}
pdf.SaveToFile(output);问题修复:
在 Word 中,水印是可以放置在背景中的半透明文本或图像。通常,水印用于强调文档中的重要内容。例如,您可以使用它来提醒用户内容是机密的或草稿。或者其他时候,您可能需要通过添加水印,在文档中插入公司标识。在本文中,您将学习如何使用 Spire.Doc for C++ 将文本或图像水印插入到 Word 文档中。
有两种方法可以将 Spire.Doc for C++ 集成到您的应用程序中。一种方法是通过 NuGet 安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 NuGet 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。
如何将 Spire.Doc for C++ 集成到 C++ 程序中
Spire.Doc for C++ 提供了 TextWatermark 类来表示文本水印。可以使用下面的方法设置水印的内容和外观。创建文本水印后,您可以使用 Document->SetWatermark() 方法将其应用于整个文档。以下是详细步骤。
#include ""Spire.Doc.o.h"";
using namespace Spire::Doc;
using namespace std;
int main() {
//创建一个Document 对象
intrusive_ptr<Document> document = new Document();
//加载Word文件
document->LoadFromFile(L""C:\\Users\\Administrator\\Desktop\\示例文档.docx"");
//创建一个TextWatermark 对象
intrusive_ptr<TextWatermark> txtWatermark = new TextWatermark();
//设置文字水印的内容和格式
txtWatermark->SetText(L""内部使用"");
txtWatermark->SetFontSize(80);
txtWatermark->SetSemitransparent(90);
txtWatermark->SetFontName(L""宋体"");
txtWatermark->SetColor(Color::GetBlue());
txtWatermark->SetLayout(WatermarkLayout::Diagonal);
//将文本水印应用于文档
document->SetWatermark(txtWatermark);
//保存文件
document->SaveToFile(L""文字水印.docx"", FileFormat::Docx2013);
document->Close();
}
同样,您可以使用 PictureWatermark 类创建图像水印。创建后,可以使用 Document->SetWatermark() 方法将其应用于 Word 文档。详细步骤如下。
#include ""Spire.Doc.o.h"";
using namespace Spire::Doc;
using namespace std;
int main() {
//创建Document对象
intrusive_ptr<Document> document = new Document();
//加载Word文件
document->LoadFromFile(L""C:\\Users\\Administrator\\Desktop\\示例文档.docx"");
//创建图片水印对象
intrusive_ptr <PictureWatermark> pictureWatermark = new PictureWatermark();
//指定水印的图像
pictureWatermark->SetPicture(L""C:\\Users\\Administrator\\Desktop\\img.png"");
pictureWatermark->SetScaling(100);
pictureWatermark->SetIsWashout(false);
//将图像水印应用于文档
document->SetWatermark(pictureWatermark);
//保存文档
document->SaveToFile(L""图片水印.docx"", FileFormat::Docx2013);
document->Close();
}
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
在公司运作过程中,难免会存在很多需要员工重复操作的工作。这些工作规则固定、重复性高且附加值低,人工操作时容易出错,且消耗劳动力的同时却不能带来更多的价值。因此,如何更高效地处理这些工作也成为解放员工生产力、提高企业运作效率的关键。
Spire.RPA 正是为了解决这样的问题而生。只要预先设定好规则,Spire.RPA 可以代替员工进行登陆程序、抓取网页、复制粘贴数据、制作文档、处理邮件等操作,协助员工快速高效完成高重复性工作。而员工则可以从简单的工作中解放出来,去进行更有创造性的工作。
目前 Spire.RPA 已开放下载,欢迎大家前往体验!
获取 Spire.RPA 请点击:https://www.e-iceblue.cn/Downloads/Spire-RPA.html
RPA(Robotic Process Automation):机器人流程自动化,也称为软件机器人,使用自动化技术来模拟人类工作人员的后台任务,如提取数据、填写表格、移动文件等。
RPA 结合了 API 和用户交互界面(UI),在企业和生产应用程序之间执行重复任务。通过部署模拟人工过程的脚本,RPA 工具可以在不相关的软件系统中自动执行各种活动和事务。
PDF 是一种流行且广泛使用的文件格式,但涉及到在会议、课堂或其他场景中向他人演示时,PowerPoint 总是比 PDF 文件更受人们青睐,因为它包含丰富的演示效果,可以更好地吸引观众的注意力。在本文中,您将了解如何使用 Spire.PDF for Java 将现有的 PDF 文件转换为 PowerPoint 演示文稿。
首先,您需要在 Java 程序中添加 Spire.Pdf.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.pdf</artifactId>
<version>11.11.11</version>
</dependency>
</dependencies>
从版本 9.2.1 开始,Spire.PDF for Java 支持使用 PdfDocument.saveToFile() 方法将 PDF 转换为 PPTX。使用此方法,PDF 文件的每一页都将转换为 PowerPoint 中的一张幻灯片。以下是将 PDF 文件转换为可编辑的 PowerPoint 文档的步骤。
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
public class PDFtoPowerPoint {
public static void main(String[] args) {
//创建PdfDocument实例
PdfDocument pdfDocument = new PdfDocument();
//加载示例PDF文档
pdfDocument.loadFromFile("成都第31届世界大学生夏季运动会.pdf");
//将PDF转换为PPTX文档
pdfDocument.saveToFile("PDFtoPowerPoint.pptx", FileFormat.PPTX);
}
}
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
将 PowerPoint 演示文稿转换为图像可为您带来多种好处。例如,它使您可以轻松地与可能无法访问 PowerPoint 软件的其他人共享内容;它保留原始演示文稿的格式,确保内容完全按预期显示;并且还可以保护演示文稿中的内容不被他人编辑或修改。在本文中,您将学习如何使用 Spire.Presentation for C++ 将 PowerPoint 演示文稿转换为不同的图像格式。
有两种方法可以将 Spire.Presentation for C++ 集成到您的应用程序中。一种方法是通过 NuGet 安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 NuGet 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。
如何将 Spire.Presentation for C++ 集成到 C++ 程序中
Spire.Presentation for C++ 提供了 ISlide->SaveAsImage() 方法,使您能够将 PowerPoint 演示文稿中的幻灯片转换为 JPG 或 PNG 图像。详细步骤如下:
#include ""Spire.Presentation.o.h"";
using namespace Spire::Presentation;
using namespace std;
int main()
{
//初始化 Presentation 类的一个实例
intrusive_ptr ppt = new Presentation();
//加载 PowerPoint 演示文稿
ppt->LoadFromFile(L""示例文档.pptx"");
//获取演示文稿的幻灯片合集
intrusive_ptr slides = ppt->GetSlides();
//遍历集合中的幻灯片
for (int i = 0; i < slides->GetCount(); i++)
{
intrusive_ptr slide = slides->GetItem(i);
//将每张幻灯片保存为 PNG 图像
intrusive_ptr image = slide->SaveAsImage();
image->Save((L""图像\\ToImage_img_"" + to_wstring(i) + L"".png"").c_str());
}
ppt->Dispose();
} 
您可以使用 ISlide->SaveAsImage(int width, int height) 方法将 PowerPoint 演示文稿中的幻灯片转换为具有特定大小的 JPG 或 PNG 图像。详细步骤如下:
#include ""Spire.Presentation.o.h"";
using namespace Spire::Presentation;
using namespace std;
int main()
{
//初始化 Presentation 类的一个实例
intrusive_ptr ppt = new Presentation();
//加载PowerPoint演示文稿
ppt->LoadFromFile(L""示例文档.pptx"");
//获取演示文稿的幻灯片集
intrusive_ptr slides = ppt->GetSlides();
//循环遍历集合中的幻灯片
for (int i = 0; i < slides->GetCount(); i++)
{
intrusive_ptr slide = slides->GetItem(i);
//将每张幻灯片保存为大小为600 x 400像素的PNG图像
intrusive_ptr image = slide->SaveAsImage(600, 400);
image->Save((L""具有特定大小的图像\\ToImage_img_"" + to_wstring(i) + L"".png"").c_str());
}
ppt->Dispose();
} 
要将 PowerPoint 演示文稿中的幻灯片转换为 SVG 图像,可以使用 ISlide->SaveToSVG() 方法。具体步骤如下:
#include ""Spire.Presentation.o.h"";
using namespace Spire::Presentation;
using namespace std;
int main()
{
//初始化Presentation类的实例
intrusive_ptr ppt = new Presentation();
//加载PowerPoint演示文稿
ppt->LoadFromFile(L""示例文档.pptx"");
//获取演示文稿的幻灯片集
intrusive_ptr slides = ppt->GetSlides();
//设置将PowerPoint转换为SVG时是否保留笔记
ppt->SetIsNoteRetained(true);
//循环遍历集合中的幻灯片
for (int i = 0; i < slides->GetCount(); i++)
{
intrusive_ptr slide = slides->GetItem(i);
//将每张幻灯片保存为SVG图像
intrusive_ptr svg = slide->SaveToSVG();
svg->Save((L""SvgImages\\ToSVG-"" + to_wstring(i) + L"".svg"").c_str());
}
ppt->Dispose();
} 
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.Presentation 8.3.2 已发布。该版本修复了编辑PPT图表数据时弹出错误对话框的问题。详情请阅读以下内容。
问题修复:
https://www.e-iceblue.cn/Downloads/Spire-Presentation-NET.html
当您需要汇总存储在多个 Excel 文件中的数据时,合并 Excel 文件是一项必不可少的任务。 例如,如果您有一年中每个季度的销售报告,您可能需要将它们合并到一个文件中以获得更全面的全年数据视图。通过合并 Excel 文件,您可以专注于单个有组织的工作簿,而不是在多个文件之间切换。这不仅简化了您的工作流程还提高了工作效率。在本文中,您将学习如何使用 Spire.XLS for C++ 将 Excel 文件合并为一个文件。
有两种方法可以将 Spire.XLS for C++ 集成到您的应用程序中。一种方法是通过 NuGet 安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 NuGet 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。
如何将 Spire.XLS for C++ 集成到 C++ 程序中
通过创建新的工作簿,然后将原始工作簿中的工作表复制到新工作簿,就可以将多个 Excel 工作簿合并为一个工作簿。具体步骤如下:
#include "Spire.Xls.o.h";
using namespace Spire::Xls;
using namespace std;
int main()
{
//将工作簿的路径放入向量中
std::vector<std::wstring> files = { L"文档1.xlsx", L"文档2.xlsx", L"文档3.xlsx" };;
//初始化工作簿对象以创建新工作簿
Workbook* newWorkbook = new Workbook();
newWorkbook->SetVersion(ExcelVersion::Version2013);
//清除默认工作表
newWorkbook->GetWorksheets()->Clear();
//初始化临时工作簿对象
Workbook* tempWorkbook = new Workbook();
//在矢量中遍历工作簿
for (auto file : files)
{
//加载当前工作簿
tempWorkbook->LoadFromFile(file.c_str());
//遍历工作簿中的所有工作表
for (int i = 0; i < tempWorkbook->GetWorksheets()->GetCount(); i++)
{
Worksheet* sheet = tempWorkbook->GetWorksheets()->Get(i);
//将工作簿中的每个工作表复制到新工作簿
(dynamic_cast<XlsWorksheetsCollection*>(newWorkbook->GetWorksheets()))->AddCopy(sheet, WorksheetCopyType::CopyAll);
}
}
//将结果工作簿保存到文件
newWorkbook->SaveToFile(L"合并Excel文件.xlsx", ExcelVersion::Version2013);
newWorkbook->Dispose();
tempWorkbook->Dispose();
delete newWorkbook;
delete tempWorkbook;
}
通过将原始工作表中使用的数据区域复制到目标工作表,可以将多个工作表合并为一个工作表。以下步骤演示了如何将同一工作簿中的两个工作表合并为一个工作表:
#include "Spire.Xls.o.h";
using namespace Spire::Xls;
using namespace std;
int main()
{
//初始化工作簿对象
Workbook* workbook = new Workbook();
//加载Excel工作簿
workbook->LoadFromFile(L"示例文档.xlsx");
//获取第一个工作表
Worksheet* sheet1 = workbook->GetWorksheets()->Get(0);
//获取第二个工作表
Worksheet* sheet2 = workbook->GetWorksheets()->Get(1);
//获取第二个工作表的使用范围
CellRange* sourceRange = sheet2->GetAllocatedRange();
//在第一个工作表中指定目标范围
CellRange* destRange = sheet1->GetRange(sheet1->GetLastRow() + 1, 1);
//将第二个工作表的使用范围复制到第一个工作表中的目标范围
sourceRange->Copy(destRange);
//删除第二个工作表
sheet2->Remove();
//保存结果文件
workbook->SaveToFile(L"MergeExcelWorksheets.xlsx", ExcelVersion::Version2013);
workbook->Dispose();
delete workbook;
}
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.PDF for Java 9.3.11 已发布。本次更新优化了压缩图片时内存的占用。同时,该版本还增强了PDF 到 HTML和SVG的转换。此外,该版本还修复了一些已知问题,如:修复了添加水印后文档大小增大较多的问题。详情请阅读以下内容。
问题修复:
Spire.XLS Standard Edition 12.12 已发布。该版本修复了保存文档时,程序抛出"Some parts of this workbook may have been repaired or discarded"异常的问题。详情请阅读以下内容。
问题修复:
图像可以为文档增加视觉多样性,并传达难以仅通过文本表达的信息,例如复杂的概念或情感。它们是使您的文档更易于理解、更具吸引力和更令人难忘的强大工具。无论您是设计报告还是创建营销文档,插入图像都可以增强您与读者的沟通,并给他们留下持久的印象。在本文中,您将学习如何使用 Spire.Doc for C++ 将图像插入到 Word 文档中。
有两种方法可以将 Spire.Doc for C++ 集成到您的应用程序中。一种方法是通过 NuGet 安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 NuGet 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。
如何将 Spire.Doc for C++ 集成到 C++ 程序中
Spire.Doc for C++ 提供了 Paragraph->AppendPicture() 方法来将图像插入到 Word 文档中。 详细步骤如下:
#include "Spire.Doc.o.h"
using namespace Spire::Doc;
using namespace Spire::Common;
int main()
{
//创建Document的对象
intrusive_ptr document = new Document();
//添加一个节
intrusive_ptr section = document->AddSection();
//添加第一段
intrusive_ptr paragraph1 = section->AddParagraph();
//向段落中添加文本并设置格式
intrusive_ptr tr = paragraph1->AppendText(L""Spire.Doc for C++ 是一款专门对 Word 文档进行操作的 C++ 类库。这款控件的主要功能在于帮助开发人员轻松快捷高效地创建、编辑、转换、及比较Microsoft Word 文档。"");
tr->GetCharacterFormat()->SetFontName(L""宋体"");
tr->GetCharacterFormat()->SetFontSize(11.0f);
paragraph1->GetFormat()->SetLineSpacing(20.0f);
paragraph1->GetFormat()->SetAfterSpacing(10.0f);
//增加第二段
intrusive_ptr paragraph2 = section->AddParagraph();
//向段落中添加文本并设置格式
tr = paragraph2->AppendText(L""Spire.Doc for C++ 支持几乎所有的 Word 文档元素,包括页面、部分、页眉、页脚、数字签名、脚注、段落、列表、表格、文本、字段、超链接、书签、评论、图像、样式、背景设置 ,文件设置和保护。此外,还支持绘图对象,包括形状、文本框、图像、OLE 对象、Latex 数学符号、MathML 代码和控件。"");
tr->GetCharacterFormat()->SetFontName(L""宋体"");
tr->GetCharacterFormat()->SetFontSize(11.0f);
paragraph2->GetFormat()->SetLineSpacing(20.0f);
//将图像添加到第一段
intrusive_ptr picture = paragraph1->AppendPicture(L""Doc-CPP.png"");
//设置图像宽度和高度
picture->SetWidth(100);
picture->SetHeight(100);
//设置图像的文本环绕样式
picture->SetTextWrappingStyle(TextWrappingStyle::Tight);
//保存结果文档
document->SaveToFile(L""插入图像.docx"", FileFormat::Docx2013);
document->Close();
} 
Spire.Doc for C++ 使您能够将图像插入Word 文档并使用 DocPicture->SetHorizontalPosition() 和 DocPicture->SetVerticalPosition() 方法设置其位置。详细步骤如下:
#include "Spire.Doc.o.h"
using namespace Spire::Doc;
using namespace Spire::Common;
int main()
{
//创建Document的对象
intrusive_ptr document = new Document();
//添加一个节
intrusive_ptr section = document->AddSection();
//向该节添加一个段落
intrusive_ptr paragraph = section->AddParagraph();
//向段落添加文本并设置格式
intrusive_ptr tr = paragraph->AppendText(L""此示例演示如何在Word文档中的指定位置插入图像。"");
tr->GetCharacterFormat()->SetFontName(L""宋体"");
paragraph->ApplyStyle(BuiltinStyle::Heading2);
//将图像添加到段落
intrusive_ptr picture = paragraph->AppendPicture(L""Doc-CPP.png"");
//设置图片大小
picture->SetWidth(100);
picture->SetHeight(100);
//设置图像位置
picture->SetHorizontalPosition(180.0F);
picture->SetVerticalPosition(60.0F);
//为图片设置文字环绕样式(注意当文字环绕样式为Inline时位置设置不适用)
picture->SetTextWrappingStyle(TextWrappingStyle::Through);
//保存结果文件
document->SaveToFile(L""在指定位置插入图像.docx"", FileFormat::Docx);
document->Close();
} 
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。