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.
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);
|