Skip to content

PdfAPI.SyncFusionCore overview

Documentation context: Packaged Component (NuGet) Documented via: PdfAPI (PdfAPI\PdfAPI.csproj)

PdfAPI.SyncFusionCore is the Syncfusion-backed PDF engine of the IT.CoreServices.PDFAPI repository. It converts eight source document formats to PDF or PDF/A, extracts page ranges from a source PDF, merges multiple document ranges into one PDF, flattens AcroForm fields, and registers the Syncfusion runtime license. It is shipped both as a project reference consumed by the PdfAPI Web API and, packaged together with PdfAPI.Core, as the Pdf.Local.Client NuGet package — so its full public API is documented here.

Purpose

  • Convert Word, Excel, RTF, plain text, image, TIFF, HTML, and PDF source documents to PDF or PDF/A using the Syncfusion 18.3 SDK.
  • Extract selected page ranges from a source PDF into a new PDF, including ascending/descending ranges and open-ended stop pages.
  • Merge multiple document ranges into a single PDF, optionally at PDF/A conformance.
  • Inspect and flatten AcroForm form fields in a PDF, and build diagnostic exception-detail records for callers.
  • Register the Syncfusion runtime license once per process before any Syncfusion API is used.
  • Consumed both as a project reference by the PdfAPI Web API (SyncfusionPdfService, PdfService) and, packaged as Pdf.Local.Client, by external NuGet consumers.

Responsibilities

  • Dispatch a conversion request to the converter matching the source file extension.
  • Own the template-method conversion pipeline (timing, error capture, result assembly) shared by all eight format converters.
  • Compose PDF output from page ranges and multi-document merges.
  • Provide AcroForm inspection/flattening and license registration utilities.
  • Perform no database access, no authentication, and no authorization work — access control for these operations is entirely the responsibility of the hosting PdfAPI application.

Key components

  • ConverterFactory: extension-to-converter dispatch; entry point for all format conversions.
  • BaseConverter: template-method base for the eight format converters (physically compiled into this project but declares the namespace PdfAPI.Core.Convert)*.
  • WordConverter, ExcelConverter, RtfConverter, TxtConverter, ImageConverter, TiffConverter, HtmlConverter, PdfConverter: format-specific byte-array producers.
  • PdfExtractor: page-range extraction from a source PDF.
  • PdfMerger: multi-document merge with optional PDF/A conformance; the library's only constructor-injected type (IEnvironmentService, ILogService).
  • PdfHelper: AcroForm inspection/flattening and exception-detail construction.
  • LicenseHelper: Syncfusion runtime license registration.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

Sources

  • PdfApi.SyncFusionCore\PdfAPI.SyncFusionCore.csproj
  • PdfApi.SyncFusionCore\packages.config
  • PdfApi.SyncFusionCore\Convert\BaseConverter.cs
  • PdfApi.SyncFusionCore\Convert\ConverterFactory.cs
  • PdfApi.SyncFusionCore\Merge\PdfMerger.cs
  • PdfApi.SyncFusionCore\Extract\PdfExtractor.cs
  • PdfApi.SyncFusionCore\PdfHelper.cs
  • PdfApi.SyncFusionCore\LicenseHelper.cs
  • PdfAPI\Services\Syncfusion\SyncfusionPdfService.cs
  • PdfAPI\Services\PdfService.cs
  • Scripts\Pdf.Local.Client\Pdf.Local.Client.nuspec