Foxit.SDK.Dotnet.Android 12.0.0

Requires NuGet 2.5 or higher.

dotnet add package Foxit.SDK.Dotnet.Android --version 12.0.0
                    
NuGet\Install-Package Foxit.SDK.Dotnet.Android -Version 12.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Foxit.SDK.Dotnet.Android" Version="12.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Foxit.SDK.Dotnet.Android" Version="12.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Foxit.SDK.Dotnet.Android" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Foxit.SDK.Dotnet.Android --version 12.0.0
                    
#r "nuget: Foxit.SDK.Dotnet.Android, 12.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Foxit.SDK.Dotnet.Android@12.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Foxit.SDK.Dotnet.Android&version=12.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Foxit.SDK.Dotnet.Android&version=12.0.0
                    
Install as a Cake Tool

Foxit PDF SDK managed and native libraries for Android.

Product Compatible and additional computed target framework versions.
.NET net6.0-android30.0 is compatible.  net7.0-android was computed.  net8.0-android was computed.  net9.0-android was computed.  net10.0-android was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Foxit.SDK.Dotnet.Android:

Package Downloads
Foxit.SDK.Dotnet

Foxit PDF SDK for Windows .NET features a powerful, easy-to-use Core API in C# for rendering, viewing, annotation, signing, protecting and managing forms in PDFs. Alongside an extensive industry-leading PDF library for building and automating workflow, Foxit PDF SDK comes with in-depth demos, sample code and a quick start PDF viewer. Start building your own PDF editor tool today.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
12.0.0 91 10/8/2026
11.1.0.1 194 4/14/2026
11.0.0 251 7/31/2025
10.1.0 687 12/16/2024
10.0.1 459 4/28/2024
10.0.0 688 3/18/2024
9.2.0 845 11/7/2023
9.1.0 889 8/22/2023
9.0.0 1,250 3/8/2023

Foxit PDF SDK v12.0   Release Date: 30 September 2026
==================================================================## Breaking ChangesThe following changes require code updates when upgrading from v11.1. Existing projects that use these APIs will not compile or may behave differently without modification.### `SearchCallback::NeedToCancel` — New pure virtual methodA new pure virtual method was added to the full-text search callback. Missing implementations fail to compile:```cpp
// Earlier versions: method did not exist
// 12.0 and later
virtual bool NeedToCancel() = 0;
```**Action required:** Implement the method on every `SearchCallback` subclass. If cancellation is not needed, return `false`.### `WatermarkSettings` constructor and `Set` — Parameter expansionTwo parameters were appended to the constructor and `Set`:```cpp
// Earlier versions
WatermarkSettings(position, offset_x, offset_y, flags, scale_x, scale_y, rotation, opacity);
settings.Set(position, offset_x, offset_y, flags, scale_x, scale_y, rotation, opacity);// 12.0 and later
WatermarkSettings(position, offset_x, offset_y, flags, scale_x, scale_y, rotation, opacity,
                 is_offset_centered, relative_scale_to_page);
settings.Set(position, offset_x, offset_y, flags, scale_x, scale_y, rotation, opacity,
            is_offset_centered, relative_scale_to_page);
```**Action required:** Supply the new parameters per the updated signatures. When relative scaling is unused, pass `relative_scale_to_page = 0` (or your product convention); when centered offset is unused, pass `is_offset_centered = false`.### `FillerAssistCallback::Refresh` — Signature changeThe form-filler assist refresh callback signature changed:```cpp
// Earlier versions
virtual void Refresh(const PDFPage& page, const RectF* rect) = 0;// 12.0 and later
virtual void Refresh(const PDFPage& page, const RectF& rect, bool has_reparse_page) = 0;
```**Action required:** Update every `FillerAssistCallback` (or equivalent) implementation: take `rect` by reference and handle `has_reparse_page` as needed.### `Preflight::Analyze` / `AnalyzeAndFixup` — Return type changeIn the Compliance module, these APIs changed from returning nothing to returning `ResultInformation`. Parameters are unchanged; only the return type changed:| API | Earlier | 12.0 |
|-----|---------|------|
| `Analyze` | `void` | `ResultInformation` |
| `AnalyzeAndFixup` | `void` | `ResultInformation` |**Action required:** Update call sites to receive and handle the new return type.Callbacks are required only when using the corresponding new capabilities (no change if unused):- `PreflightGroupLocalCallback`: localizes group item names and comments via `Preflight::SetPreflightGroupLocalCallback`. Implement `Release`, `GetGroupItemLocalName`, and `GetGroupItemLocalComment`.### `TaggedPDF` / Accessibility APIs — Header move and `StartTagDocument`PDF Accessibility APIs moved into the accessibility add-on, with AutoTagging entry-point changes:| Item | Earlier | 12.0 |
|------|---------|------|
| Header path | `pdf/pdfaccessibility/…` | `addon/accessibility/…` (packages may also expose `fs_taggedpdf.h`—follow the published include tree) |
| Constructor | `TaggedPDF(const PDFDoc& doc)` | `TaggedPDF(const PDFDoc& doc, bool is_fix = false)` |
| Tagging entry | `StartTagDocument(pause = NULL)`; plus `SetCallback` | `StartTagDocument(pause, report_callback = NULL, callback = NULL)`; `SetCallback` deprecated |
| `pause` default | Defaulted to `NULL` | No default; must be passed explicitly (may be `NULL`) |```cpp
// Earlier versions
TaggedPDF tagged(doc);
tagged.SetCallback(cb);
tagged.StartTagDocument();// 12.0 and later
TaggedPDF tagged(doc, false);
tagged.StartTagDocument(NULL, report_stream, provider_callback);  // pause must be explicit
```**Action required:** Update `#include`s; remove `SetCallback` and pass the report stream plus optional `AutoTagProviderCallback` to `StartTagDocument`; always pass `pause` explicitly.### `DWG2PDFSettingData::export_hatches_type` — Default value changeWhen left unset, the default hatch export type changed (silent behavior change):| Property | Earlier | 12.0 |
|----------|---------|------|
| `export_hatches_type` | `e_DWG2PDFExportHatchesTypeBitmap` | `e_DWG2PDFExportHatchesTypePolygons` |
| `other_export_hatches_type` | — (not present) | `e_DWG2PDFExportHatchesTypeBitmap` |
| `gradient_export_hatches_type` | — (not present) | `e_DWG2PDFExportHatchesTypeBitmap` |**Action required:** To keep the earlier behavior, set `export_hatches_type = e_DWG2PDFExportHatchesTypeBitmap` explicitly; configure the new other/gradient hatch properties as needed.### `JavascriptEventType` — Some enum numeric values shiftedIn earlier versions, an unused integer gap (20) existed between `FieldKeyStroke` (value 19) and `FieldValidate`. In 12.0 that gap was assigned to `FieldValidate`, and subsequent enum values shifted forward by 1:| Enum | Earlier | 12.0 |
|------|---------|------|
| `FieldKeyStroke` | 19 | 19 (unchanged) |
| `FieldValidate` | 21 | 20 |
| `FieldCalculate` | 22 | 21 |
| `FieldFormat` | 23 | 22 |
| …through `MediaStop` | 46 | 45 |**Action required:** Always use enum symbols (for example `e_JavascriptEventTypeFieldValidate`); do not hard-code integer enum values. If code uses `if (type == 21)` expecting `FieldValidate`, integer `21` maps to `FieldCalculate` in 12.0 and later.## New Features and Enhancements### Platform- Node.js (Node-API): Migrated the Node.js native binding from the legacy Node/V8 Binding to Node-API, with prebuilt packages for napi3 / napi6 / napi8, expanding compatibility (approximately Node.js 8.15–26; some historical minor versions excluded). Installation automatically matches the current runtime.
- Simple Demo command-line samples: Simple Demo supports command-line arguments. Samples are published at https://github.com/foxitsoftware/foxit-pdf-sdk-cli-samples---### Conversion- Markdown and PDF conversion: Added Markdown to PDF (`Md2PDF::ConvertFromMarkdown`) and PDF to Markdown (`PDF2Md::ConvertToMarkdown`). Load the Conversion library and ensure the corresponding module license before use.
- Enhanced DWG/DXF to PDF: Configure layout scope, title-block XML, auto-tiling, line-weight styles, output DPI, and more via `DWG2PDFSettingData`. See `export_hatches_type` default change above.
- Unified cross-platform Java Office-to-PDF entry points: `fromWord` / `fromExcel` / `fromPowerPoint` share the same method parameters; the SDK Java binding dispatches by platform internally. Existing platform-specific APIs remain available.---### OCR- Improved OCR recognition quality (large-image handling, certain Chinese garbled-text scenarios, and related cases). Upgrade to the ABBYY OCR resource pack that ships with this release.---### Signature and Security- ISO 32004 document integrity protection: Standalone mode (`PDFDoc::StartIntegrityProtection`) and signature-attached mode (`StartIntegrityProtectionWithSignature`), with configurable digest algorithm, password, permission bits, and whether to encrypt metadata.---### Text and Content- Glyph ID lookup by Unicode: `Font::GetGlyphID`
- Full-text search ignore whitespace in the pattern: `FullTextSearch::SetIgnoreSpace`; off by default; no index rebuild required
- Full-text search supports cooperative cancellation (see `NeedToCancel` above)
- Watermarks support relative scaling to the target page and offset calculation from the watermark center (see `WatermarkSettings` above)---### Rendering- Convert bitmaps to CMYK: `Bitmap::ConvertFormat(..., e_DIBCmyk)` converts RGB / ARGB / RGB32 (and related) bitmaps directly to CMYK
- Improved CMYK page rendering performance (same-document retest: about 86% reduction on Win32, about 19% on Win64)
- Improved decoding of halftone JBIG2 images with HENABLESKIP---### Forms and Annotations- Batch annotation hit-testing by rectangle: `PDFPage::GetAnnotsAtRect` / `GetAnnotsAtDeviceRect`, complementing existing point hit-testing; annotations with Hidden / NoView / Invisible flags are not returned.---### Standards and Compliance- PDF/A-4e / PDF/A-4f: Added validation and conversion. Upgrade to the Compliance resource pack that ships with this release.---### Accessibility- Accessibility check, fix, navigation, and tag tree: Publicized `AccessibilityChecker`, `AccessibilityFixer`, `AccessibilityNavigator`, `ReadingOrder`, `TagTreeEditor`, and related APIs.
- Improved AutoTagging structure recognition: better heading levels (such as H1/H2) and less overly flat structure trees, closer to common reader tagging results.---### Document and Page- Improved document open performance in specific scenarios (sample about 99.7% reduction)
- Add image frames from a file path: `Image::AddFrame` accepts an image file path.
- SVG / WMF (EMF) vector graphics into PDF: Write SVG / WMF (EMF) into a PDF page or whole document via `VectorGraphics`.---## Bug Fixes### Conversion- Fix font drift and incorrect font sizes in DWG2PDF when specific fonts were missing (can be mitigated/fixed by adding the corresponding `.shx` fonts to the engine Fonts directory)
- Fix execution failures/crashes in Windows Java DWG2PDF caused by conflicts between the ODA export component and JDK bundled runtimes
- Fix garbled text in parts of specific DWG drawings after conversion to PDF
- Fix garbled text in DWG2PDF output from historical versions
- Fix DWG2PDF output losing original drawing layer information
- Fix line weight and related attributes not being preserved correctly after DWG2PDF conversion
- Fix unexpected font substitution for some fonts during PDF to Word / Excel
- Fix Office2PDF incorrectly reporting "No 3D module right" when fonts were missing; the error message is now accurate
- Fix garbled text (shown as "?") after converting specific DWG files on Linux
- Fix overlapping/squeezed lines after converting specific DWG files
- Fix crashes in Linux Java when combining OCR and PDF2Word engine workflows### Rendering- Fix incorrect knockout transparency-group shape calculation that made preview results inconsistent with Adobe / WPS
- Fix rendering of specific XFA documents that was inconsistent with Adobe
- Fix some text appearing bolder and abnormal anti-aliasing in Output Preview (regression relative to v11.1)
- Fix bordered link annotations not showing borders during rendering / image export
- Fix results inconsistent with Adobe after enabling simulated overprint (`EnableSimulateOverprint`)### Document and Page- Fix excessively long PDF/A validation and incomplete validation output after adding FreeText annotations with embedded fonts
- Fix garbled output when writing certain Unicode symbols into headers/footers from C# (not reproducible on the C++ side)
- Fix possible hangs or stack overflows from `Bookmark::MoveTo` on structurally abnormal PDFs; the API now returns errors more robustly
- Fix unexpected results when moving a bookmark node to become a sibling of its parent
- Fix page width/height not updating after setting PageBox when re-read (use the correct path including `PDFPage::Normalize()` where applicable)### OCR- Fix text position drift and ghosting after OCR on specific documents
- Fix upside-down OCR results on specific pages
- Fix flipped or 90°-rotated OCR results on specific pages### Text and Content- Fix intermittent errors from `PDFPage::AddText`
- Fix invisible text after replacing Japanese with English using TextSearchReplace
- Fix rare characters not displaying when creating text objects with SimSun-ExtB, and incorrect `IsCharSupported` results
- Fix `TextPage.GetText` returning different results on .NET Core versus .NET Framework
- Fix inaccurate `Font::IsCharSupported` results for some fonts (such as HanaMinA)### Platform- Fix heap-corruption style crashes on Linux (for example Ubuntu 24) in specific licensing scenarios
- Fix .NET on Linux ARM failing to load `fsdk.dll` when calling `TextPage.GetChars`
- Fix document object misalignment / format corruption under concurrent editing### Signature and Security- Fix incorrect position of the last character in watermark strings after calling `embed()` on the watermark font
- Fix Adobe reporting errors on specific pages after EmbedFont-related flows
- Fix Chinese tiled watermarks not displaying on Linux when fonts were loaded from a path### Printing- Fix possible Access Violation on application exit if `PrintManager.Release` was not called
- Fix PrintManager incorrectly using an already-closed printer handle on release/close paths### Forms and Annotations- Fix missing `/Length` entries when exporting stamps added through the SDK to FDF
- Fix `XFADoc::FlattenTo` dropping field values that contain diacritics### Optimization- Fix inconsistent Optimizer handling of already-subset / non-embedded fonts that caused some fonts to be substituted