PdfAPI converts documents to PDF, merges PDF documents, extracts page ranges, and inspects or validates PDF content on behalf of upstream systems, persisting a tracking record of each conversion/merge request in the Oracle IMG schema so callers can poll or download the result later.
Convert uploaded documents (Office formats, images, plain text, and existing PDFs) to PDF or PDF/A output, selecting between a Syncfusion-based processor (default) and an ActivePDF-based processor by configuration.
Merge multiple source documents — converting any non-PDF input first — into a single PDF output.
Extract one or more page ranges from a source PDF into a new document.
Track the lifecycle of convert/merge requests (Scheduled → Processing → terminal) in the Oracle IMG schema, and allow callers to poll status or download the finished output by tracking id.
Inspect PDF content without persistence: page count, form-field presence, form-field flattening, PDF/PDF-A validity, and PDF version.
Publish build/version metadata for the deployed service.
PdfAPI is the imaging system's PDF-processing back end: it performs document conversion, merge, and extraction on behalf of upstream systems that need PDF output, and it owns the tracking records that let a caller confirm a conversion succeeded before acting on the result. If the service is unavailable, upstream systems cannot convert or merge documents into PDF, cannot extract page ranges, and cannot resolve tracking status for in-flight requests.
Attribute
Value
Business domain
PDF document processing and imaging support
Owning team
Not determined from source**
Data ownership
PDFTracking and its lookup tables (PDFStatusCode, PDFTrackingCode, PDFApplicationErrorCode) in the Oracle IMG schema
JSON only — config.Formatters.XmlFormatter removed (PdfAPI\App_Start\WebApiConfig.cs)
Serializer settings
Framework defaults — no JsonSerializerSettings, contract resolver, or converter is configured, so property names serialize in PascalCase*
Response envelope
DTOs returned directly (PdfResult, PdfTrackingInfo, or primitives via Ok(result) or a bare return value); the ApiResponseHandler message handler additionally wraps every response but its exact envelope shape is implemented inside the SAIF.Web.API package and is not visible in this repository**
Stock ASP.NET MVC scaffolding is present in this repository but is not an application surface and is excluded from this document set entirely: Controllers\HomeController.cs, Views\**, App_Start\RouteConfig.cs, App_Start\BundleConfig.cs, App_Start\FilterConfig.cs, Content\**, Scripts\**, fonts\**, and Areas\HelpPage\**.
Note: Statements marked with * were inferred from code structure, naming conventions, or
contextual evidence where direct confirmation was not available in source artifacts. Statements
marked with ** could not be confirmed; treat as unknown until verified.