冰蓝科技
|
028-81705109
|
|
微信扫一扫
|

Spire.Cloud 纯前端文档控件

Spire.Office for Android via Java 8.4.0 已发布。在该版本中,Spire.Presentation for Android via Java支持设置自定义字体;Spire.Doc for Android via Java 增强了Word 到 PDF的转换;Spire.PDF for Android via Java 增强了 PDF 到 DOCX 的转换。此外,许多已知问题也在该版本中被成功修复。详情请阅读以下内容。

获取Spire.Office for Android via Java 8.4.0请点击:

https://www.e-iceblue.cn/Downloads/office-for-android-via-java.html


Spire.Presentation for Android via Java

新功能:

问题修复:


Spire.Doc for Android via Java

问题修复:


Spire.PDF for Android via Java

问题修复:

Spire.Doc for Android via Java 11.4.1 已发布。该版本修复了转换 Word 到 PDF 后图片丢失的问题。详情请阅读以下内容。

问题修复:


获取Spire.Doc for Android via Java 11.4.1请点击:

https://www.e-iceblue.cn/Downloads/doc-for-android-via-java.html

Spire.Office for Java 8.4.5 已发布。在该版本中,Spire.Doc for Java 新增支持 Docx2016 和 Docx2019 文件格式;Spire.Presentation for Java 支持使用自定义布局添加新幻灯片;Spire.PDF for Java 优化了压缩图片时内存的占用;Spire.XLS for Java 增强了 Excel 到 HTML 和 PDF 的转换。此外,许多已知问题也在该版本中被成功修复。详情请阅读以下内容。

获取 Spire.Office for Java 8.4.5请点击:

https://www.e-iceblue.cn/Downloads/Spire-Office-JAVA.html


Spire.Doc for Java

新功能:

问题修复:


Spire.Presentation for Java

新功能:

问题修复:


Spire.PDF for Java

问题修复:


Spire.XLS for Java

问题修复:

Spire.Presentation for Java 8.4.2已发布。该版本修复了获取出的SmartArt的节点的坐标值不正确的问题。详情请阅读以下内容。

问题修复:


获取Spire.Presentation for Java 8.4.2请点击:

https://www.e-iceblue.cn/Downloads/Spire-Presentation-JAVA.html

Spire.Doc for Java 11.4.2 已发布。该版本新增支持 Docx2016 和 Docx2019 文件格式。同时,该版本还支持仅更新目录的页码和获取批注的回复项的功能。此外,该版本增强了 Word 到 PDF、HTML 和 OFD 的转换。许多已知问题也在本次更新中被修复,如接受修订后页面由竖版变为横版的问题。详情请阅读以下内容。

新功能:

问题修复:


获取Spire.Doc for Java 11.4.2请点击:

https://www.e-iceblue.cn/Downloads/Spire-Doc-JAVA.html

更改 Word 文档中的字体颜色是强调要点的有效方法。例如,如果您正在创建包含重要数据的报告,将数据文本的字体颜色更改为较亮的颜色可以使其从其他文本中脱颖而出,并迅速吸引读者的注意力。更改字体颜色的另一个好处是可以增强文档的视觉外观和可读性。例如,在准备营销材料时,将标题和副标题的字体颜色更改为与文本其他部分不同的字体颜色,可以帮助我们创建清晰的信息层次,使材料更具吸引力,更易于阅读。在本文中,我们将演示如何使用 Spire.Doc for C++ 更改 Word 文档中的字体颜色

安装 Spire.Doc for C++

有两种方法可以将 Spire.Doc for C++ 集成到您的应用程序中。一种方法是通过 NuGet 安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 NuGet 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。

如何将 Spire.Doc for C++ 集成到 C++ 程序中

更改 Word 中段落的字体颜色

若要更改 Word 文档中特定段落的字体颜色,可以创建具有特定字体颜色的自定义段落样式,然后将该样式添加到文档中,并将其应用于要修改的段落。具体步骤如下:

  • C++
#include ""Spire.Doc.o.h"";

using namespace Spire::Doc;

int main()
{
    // 创建Document类的实例
    intrusive_ptr<Document> document = new Document();

    //加载Word文档
    document->LoadFromFile(L""示例文档.docx"");

    //获取第一节
    intrusive_ptr<Section> section = document->GetSections()->GetItemInSectionCollection(0);

    //更改第一段的字体颜色
    intrusive_ptr<Paragraph> p1 = section->GetParagraphs()->GetItemInParagraphCollection(0);
    intrusive_ptr<ParagraphStyle> style1 = new ParagraphStyle(document);
    style1->SetName(L""颜色1"");
    style1->GetCharacterFormat()->SetTextColor(Color::GetRosyBrown());
    document->GetStyles()->Add(style1);
    p1->ApplyStyle(style1);

    //更改第二段的字体颜色
    intrusive_ptr<Paragraph> p2 = section->GetParagraphs()->GetItemInParagraphCollection(1);
    intrusive_ptr<ParagraphStyle> style2 = new ParagraphStyle(document);
    style2->SetName(L""颜色2"");
    style2->GetCharacterFormat()->SetTextColor(Color::GetDarkGreen());
    document->GetStyles()->Add(style2);
    p2->ApplyStyle(style2);

    //保存结果文档
    document->SaveToFile(L""更改段落的字体颜色.docx"", FileFormat::Docx2013);
    document->Close();
}

C++ 更改 Word 中的字体颜色

更改 Word 中特定文本的字体颜色

若要更改 Word 文档中特定文本的字体颜色,您需要搜索文档中的文本,然后更改其所有引用的字体颜色。具体步骤如下:

  • C++
#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""示例文档.docx"");

 //查找要更改的字体颜色的文本
 vector<intrusive_ptr<TextSelection>> selection = document->FindAllString(L""孤独"", false, true);

 //更改所有出现的文本的字体颜色
 for (auto text : selection)
 {
  text->GetAsOneRange()->GetCharacterFormat()->SetTextColor(Color::GetMediumPurple());
 }

 //保存结果文档
 document->SaveToFile(L""更改特定文本的字体颜色.docx"", FileFormat::Docx2013);
 document->Close();
}

C++ 更改 Word 中的字体颜色

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

饼图和圆环图是两种类似的图表,用于显示数据的百分比。这两个图表在视觉上都非常简洁,可以即时了解部分与整体的关系。在本文中,您将学习如何使用 Spire.XLS for C++ 在 Excel 中以编程方式创建饼图或圆环图

安装 Spire.XLS for C++

有两种方法可以将 Spire.XLS for C++ 集成到您的应用程序中。一种方法是通过 NuGet 安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 NuGet 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。

如何将 Spire.XLS for C++ 集成到 C++ 程序中

在 Excel 中创建饼图

饼图是一种分为几个扇区的圆形图。要在工作表中添加饼图,可以使用 Spire.XLS for C++ 提供的 Worksheet->GetCharts()->Add(ExcelChartType::Pie) 方法。以下是详细的步骤。

  • C++
#include "Spire.Xls.o.h";

using namespace Spire::Xls;

int main() {

	//指定输出文件路径
	std::wstring outputFile = L"Output\\饼状图.xlsx";

	//创建工作簿对象
	Workbook* workbook = new Workbook();

	//获取第一个工作表并设置工作表名称
	Worksheet* sheet = workbook->GetWorksheets()->Get(0);
	sheet->SetName(L"饼状图");

	//在工作表中添加饼图
	Chart* chart = nullptr;
	chart = sheet->GetCharts()->Add(ExcelChartType::Pie);

	//设置图表数据
	sheet->GetRange(L"A1")->SetValue(L"年份");
	sheet->GetRange(L"A2")->SetValue(L"2018");
	sheet->GetRange(L"A3")->SetValue(L"2019");
	sheet->GetRange(L"A4")->SetValue(L"2020");
	sheet->GetRange(L"A5")->SetValue(L"2021");

	sheet->GetRange(L"B1")->SetValue(L"销售额");
	sheet->GetRange(L"B2")->SetNumberValue(114000);
	sheet->GetRange(L"B3")->SetNumberValue(126000);
	sheet->GetRange(L"B4")->SetNumberValue(107000);
	sheet->GetRange(L"B5")->SetNumberValue(208500);

	//设置单元格样式
	sheet->GetRange(L"A1:B1")->SetRowHeight(15);
	sheet->GetRange(L"A1:B1")->GetStyle()->SetColor(Spire::Common::Color::GetBlack());
	sheet->GetRange(L"A1:B1")->GetStyle()->GetFont()->SetColor(Spire::Common::Color::GetWhite());
	sheet->GetRange(L"A1:B1")->GetStyle()->SetVerticalAlignment(VerticalAlignType::Center);
	sheet->GetRange(L"A1:B1")->GetStyle()->SetHorizontalAlignment(HorizontalAlignType::Center);

	//设置数字格式
	sheet->GetRange(L"B2:C5")->GetStyle()->SetNumberFormat(L"\"¥\"#,##0");

	//设置图表的数据范围
	chart->SetDataRange(sheet->GetRange(L"B2:B5"));
	chart->SetSeriesDataFromRange(false);

	//设置图表的位置
	chart->SetLeftColumn(1);
	chart->SetTopRow(6);
	chart->SetRightColumn(9);
	chart->SetBottomRow(25);

	//设置图表标题并设置其格式
	chart->SetChartTitle(L"年度销售情况");
	chart->GetChartTitleArea()->SetIsBold(true);
	chart->GetChartTitleArea()->SetSize(12);

	//在图表中获取指定的系列
	ChartSerie* cs = chart->GetSeries()->Get(0);

	//设置系列的类别标签
	cs->SetCategoryLabels(sheet->GetRange(L"A2:A5"));

	//设置系列值
	cs->SetValues(sheet->GetRange(L"B2:B5"));

	//显示数据点的数据标签
	cs->GetDataPoints()->GetDefaultDataPoint()->GetDataLabels()->SetHasValue(true);

	//保存结果文件
	workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2013);
	workbook->Dispose();
}

C++ 在 Excel 中创建饼图或圆环图

在 Excel 中创建圆环图

圆环图是饼图的变体。它的中心有一个孔,可以显示其他信息。以下是在 Excel 工作表中添加圆环图的步骤。

  • C++
#include "Spire.Xls.o.h";

using namespace Spire::Xls;

int main() {

	//指定输出文件路径
	std::wstring outputFile = L"Output\\圆环图.xlsx";

	//创建工作簿对象
	Workbook* workbook = new Workbook();

	//获取第一个工作表
	Worksheet* sheet = workbook->GetWorksheets()->Get(0);

	//将数据插入指定的单元格
	sheet->GetRange(L"A1")->SetValue(L"国家");
	sheet->GetRange(L"A2")->SetValue(L"古巴");
	sheet->GetRange(L"A3")->SetValue(L"墨西哥");
	sheet->GetRange(L"A4")->SetValue(L"法国");
	sheet->GetRange(L"A5")->SetValue(L"德国");
	sheet->GetRange(L"B1")->SetValue(L"销售额");
	sheet->GetRange(L"B2")->SetNumberValue(6000);
	sheet->GetRange(L"B3")->SetNumberValue(8000);
	sheet->GetRange(L"B4")->SetNumberValue(9000);
	sheet->GetRange(L"B5")->SetNumberValue(8500);

	//设置单元格样式
	sheet->GetRange(L"A1:B1")->SetRowHeight(15);
	sheet->GetRange(L"A1:B1")->GetStyle()->SetColor(Spire::Common::Color::GetBlack());
	sheet->GetRange(L"A1:B1")->GetStyle()->GetFont()->SetColor(Spire::Common::Color::GetWhite());
	sheet->GetRange(L"A1:B1")->GetStyle()->GetFont()->SetIsBold(true);
	sheet->GetRange(L"A1:B1")->GetStyle()->SetVerticalAlignment(VerticalAlignType::Center);
	sheet->GetRange(L"A1:B1")->GetStyle()->SetHorizontalAlignment(HorizontalAlignType::Center);

	//在工作表中添加环形图
	Chart* chart = sheet->GetCharts()->Add();
	chart->SetChartType(ExcelChartType::Doughnut);

	//设置图表的数据范围
	chart->SetDataRange(sheet->GetRange(L"A1:B5"));
	chart->SetSeriesDataFromRange(false);

	//设置图表位置
	chart->SetLeftColumn(4);
	chart->SetTopRow(2);
	chart->SetRightColumn(12);
	chart->SetBottomRow(22);

	//设置图表标题
	chart->SetChartTitle(L"按国家划分的市场份额");
	chart->GetChartTitleArea()->SetIsBold(true);
	chart->GetChartTitleArea()->SetSize(12);

	//显示数据点的数据标签
	for (int i = 0; i < chart->GetSeries()->GetCount(); i++)
	{
		ChartSerie* cs = chart->GetSeries()->Get(i);
		cs->GetDataPoints()->GetDefaultDataPoint()->GetDataLabels()->SetHasPercentage(true);
	}

	//设置图表的图例位置
	chart->GetLegend()->SetPosition(LegendPositionType::Top);

	//保存结果文件
	workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2013);
	workbook->Dispose();
}

C++ 在 Excel 中创建饼图或圆环图

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

Spire.Presentation for Java 8.4.1已发布。本次更新支持通过文本宽度调整表格列宽和设置形状的圆角半径。同时支持使用自定义布局添加新幻灯片。此外,一些已知问题也在该版本中被成功修复,如设置SeriesLinesColor后,打开文档时出现错误消息的问题。详情请阅读以下内容。

新功能:

问题修复:


获取Spire.Presentation for Java 8.4.1请点击

https://www.e-iceblue.cn/Downloads/Spire-Presentation-JAVA.html

从 PDF 文档中提取文本功能在各个领域都有着广泛的应用。当处理大量的 PDF 格式合同、报告和财务数据。提取 PDF 文本可以快速检索关键信息,进行数据分析;当需要将 PDF 文档内容翻译成其他语言时,可以先提取原 PDF 文档文本内容;同时从 PDF 文档中提取的文本内容可以作为数据输入的一部分,与其他系统或应用进行无缝对接。在本文中,您将学习如何使用 Spire.PDF for C++ 从 PDF 文档中提取文本。

安装 Spire.PDF for C++

有两种方法可以将 Spire.PDF for C++ 集成到您的应用程序中。一种方法是通过 NuGet 安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 NuGet 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。

如何将 Spire.PDF for C++ 集成到 C++ 程序中

从指定页面提取所有文本

Spire.PDF for C++ 提供的 PdfTextExtractor 类用于从可搜索的 PDF 文件中提取文本,PdfTextExtractOptions 类用于管理提取选项。在未设置特定的提取选项时,默认情况下 PdfTextExtractor->ExtractText() 方法会从指定的页面中提取所有文本。详细的步骤如下:

  • C++
#include "Spire.Pdf.o.h"
#include <locale>
#include <codecvt>
using namespace Spire::Pdf;
using namespace std;

int main()
{
	// 创建PdfDocument对象
	intrusive_ptr<PdfDocument> doc = new PdfDocument();

	// 加载PDF文档
	doc->LoadFromFile(L"极昼极夜是怎么形成的.pdf");

	// 获取PDF第一页,遍历文档所有页便可提取文档所有文本内容
	intrusive_ptr<PdfPageBase> page = doc->GetPages()->GetItem(0);

	// 创建PdfTextExtractor 对象
	intrusive_ptr<PdfTextExtractor> textExtractor = new PdfTextExtractor(page);

	// 创建PdfTextExtractOptions 对象
	intrusive_ptr<PdfTextExtractOptions>  extractOptions = new PdfTextExtractOptions();

	// 从页面中提取文本
	wstring	text = textExtractor->ExtractText(extractOptions);

	// 写入到 txt 文件中
	wofstream write(L"提取文本.txt");
	auto LocUtf8 = locale(locale(""), new std::codecvt_utf8<wchar_t>);
	write.imbue(LocUtf8);
	write << text;

	// 释放对象
	write.close();
	doc->Close();
}

C++ 从 PDF 文档中提取文本

从页面矩形区域提取文本

使用 PdfTextExtractOptions.ExtractArea 属性可以指定一个页面矩形区域进行 PDF 文本内容的提取。具体步骤如下:

  • C++
#include "Spire.Pdf.o.h"
#include <locale>
#include <codecvt>
using namespace Spire::Pdf;
using namespace std;

int main()
{
	// 创建PdfDocument对象
	intrusive_ptr<PdfDocument> doc = new PdfDocument();

	// 加载PDF文档
	doc->LoadFromFile(L"极昼极夜是怎么形成的.pdf");

	// 获取PDF第一页
	intrusive_ptr<PdfPageBase> page = doc->GetPages()->GetItem(0);

	// 创建PdfTextExtractor 对象
	intrusive_ptr<PdfTextExtractor> textExtractor = new PdfTextExtractor(page);

	// 创建PdfTextExtractOptions 对象
	intrusive_ptr<PdfTextExtractOptions>  extractOptions = new PdfTextExtractOptions();

	// 设置提取区域范围
	extractOptions->SetExtractArea(new RectangleF(0, 0, 600, 200));

	// 从页面指定区域范围提取文本
	wstring	text = textExtractor->ExtractText(extractOptions);

	// 写入到 txt 文件中
	wofstream write(L"从指定区域提取文本.txt");
	auto LocUtf8 = locale(locale(""), new std::codecvt_utf8<wchar_t>);
	write.imbue(LocUtf8);
	write << text;

	// 释放对象
	write.close();
	doc->Close();
}

C++ 从 PDF 文档中提取文本

设置简单提取选项提取文本

Spire.PDF for C++ 使用上面提及的方式或设置 PdfTextExtractOptions->SetIsSimpleExtraction(false) 提取文本时,产品内部是根据文本坐标位置计算排序来提取。当设置 PdfTextExtractOptions->SetIsSimpleExtraction(true) 简单提取选项提取是根据文本在页面中绘制的逻辑顺序提取,即先绘制在页面的内容会先提取,后绘制的内容后提取,不管它的具体坐标位置。具体步骤如下:

  • C++
#include "Spire.Pdf.o.h"
#include <locale>
#include <codecvt>
using namespace Spire::Pdf;
using namespace std;

int main()
{
	// 创建PdfDocument对象
	intrusive_ptr<PdfDocument> doc = new PdfDocument();

	// 加载PDF文档
	doc->LoadFromFile(L"示例.pdf");

	// 获取PDF第一页
	intrusive_ptr<PdfPageBase> page = doc->GetPages()->GetItem(0);

	// 创建PdfTextExtractor 对象
	intrusive_ptr<PdfTextExtractor> textExtractor = new PdfTextExtractor(page);

	// 创建PdfTextExtractOptions 对象
	intrusive_ptr<PdfTextExtractOptions>  extractOptions = new PdfTextExtractOptions();

	// 设置简单提取选项为true来提取文本
	extractOptions->SetIsSimpleExtraction(true);

	// 提取文本
	wstring	text = textExtractor->ExtractText(extractOptions);

	// 写入到 txt 文件中
	wofstream write(L"提取文本.txt");
	auto LocUtf8 = locale(locale(""), new std::codecvt_utf8<wchar_t>);
	write.imbue(LocUtf8);
	write << text;

	// 释放对象
	write.close();
	doc->Close();
}

C++ 从 PDF 文档中提取文本

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

Spire.Presentation 8.4.1 已发布。该版本修复了转换PPT到图片时程序进入死循环导致内存耗尽的问题。详情请阅读以下内容。

问题修复:


获取 Spire.Presentation 8.4.1 请点击:

https://www.e-iceblue.cn/Downloads/Spire-Presentation-NET.html