Spire.PDF for C++ 12.10.7 Released with New Platform Support and Major API Changes

2026-11-06 08:18:11

We're pleased to announce the release of Spire.PDF for C++ 12.10.7. This version adds support for several new platforms, including Win-ARM64, Linux-ARM64, and OHOS. Most importantly, it introduces major structural and API changes to fully align its functionality with the .NET version. This is not a hot-swappable patch release. Existing projects cannot be upgraded simply by replacing the library files; source code modifications and a full recompilation are required. Developers should review the changes carefully before upgrading.

Major API Changes

To fully align the functionality of Spire.PDF for C++ with the .NET version, this release introduces major structural changes to the product package. Existing projects cannot be upgraded simply by replacing the library files. Source code modifications and a full recompilation are required.

For more details, please refer to:

Here is a list of changes made in this release

Category ID Description
Adjustment - Added support for the following platforms: win-arm64, linux-arm64, linux-musl-arm64, musl_x64, ohos-arm64-v8a, ohos-x86_64, osx-arm64, and osx-x64.
Adjustment - Removed the "Spire.Pdf.o.h" header file. The corresponding header files in their respective sub-namespaces must now be included instead.

Old version:

#include "Spire.Pdf.o.h"
using namespace Spire::Pdf;
using namespace std;

New version:

#include <iostream>
#include "Spire/Pdf/PdfDocument.h"
#include "Spire/Pdf/PdfPageBase.h"
#include "Spire/Pdf/PdfPageCollection.h"
#include "Spire/Pdf/Graphics/PdfCanvas.h"
#include "Spire/Pdf/Graphics/PdfFont.h"
#include "Spire/Pdf/Graphics/PdfFontFamily.h"
#include "Spire/Pdf/Graphics/PdfRGBColor.h"
#include "Spire/Pdf/Graphics/PdfSolidBrush.h"
using namespace Spire::Pdf;
using namespace Spire::Pdf::Graphics;
.......
Adjustment - Changed wide-character strings to UTF-8 narrow-character strings.

Old version:

intrusive_ptr<PdfFont> font = new PdfFont(PdfFontFamily::Helvetica, 20.f);
intrusive_ptr<PdfRGBColor> color = new PdfRGBColor(Color::GetBlue());
intrusive_ptr<PdfSolidBrush> brush = new PdfSolidBrush(color);
intrusive_ptr<PdfStringFormat> leftAlignment = new PdfStringFormat(PdfTextAlignment::Left, PdfVerticalAlignment::Middle);
page->GetCanvas()->DrawString(L"Left!", font, brush, 0, 20, leftAlignment);

New version:

intrusive_ptr<PdfFont> font = new PdfFont(PdfFontFamily::Helvetica, 20.f);
intrusive_ptr<PdfRGBColor> color = new PdfRGBColor(Color::GetBlue());
intrusive_ptr<PdfSolidBrush> brush = new PdfSolidBrush(color);
intrusive_ptr<PdfStringFormat> leftAlignment = new PdfStringFormat(PdfTextAlignment::Left, PdfVerticalAlignment::Middle);
page->GetCanvas()->DrawString("Left!", font, brush, 0, 20, leftAlignment);
Click the link to download Spire.PDF for C++ 12.10.7: