PdfAPI.Core dependencies¶
PdfAPI.Core is the base of the repository's reference graph: it declares no <ProjectReference> entries and has no internal (same-repo) library dependencies, but it consumes three external NuGet packages and is itself packaged (with source) into two downstream NuGet packages consumed by other projects.
Internal dependencies¶
PdfAPI.Core has no internal (same-repo) project or NuGet dependencies. PdfAPI.Core.csproj declares no <ProjectReference> elements, and Stage 1 analysis confirms it is depended on by every other project in the repository (PdfAPI, PdfAPI.SyncFusionCore, PdfAPI.Client) while depending on none of them in return.
External dependencies¶
| Dependency | Version | Usage |
|---|---|---|
| iTextSharp | 5.5.11 | PdfClientService uses iTextSharp.text.pdf.PdfReader, PdfStamper, PdfCopy, and iTextSharp.text.Document for PDF inspection, form-field detection/flattening, and page extraction. PdfClientService.ExtractPageRanges exposes iTextSharp.text.pdf.PdfReader directly in its public signature, making iTextSharp compile-time visible to package consumers that call it. |
| Newtonsoft.Json | 8.0.3 | [JsonConstructor] attributes on Document, PdfResult, PdfTrackingInfo, and PageRange support deserialization of types that otherwise expose only internal constructors. |
| SAIF.Framework.Common | 2.0.22074.3 | SAIF.Common.Extensions.ToStringAll(",") is used in DocumentRange.ToString(). This reference is what classifies the library as framework4. |
Dependency risks and notes¶
- Several BCL assembly references declared in
PdfAPI.Core.csproj(System.Drawing,System.Data,System.Data.DataSetExtensions) appear to be unused template defaults — no source file references any type from them.* System.Webappears inusingdirectives ofDocument.cs,Extract\DocumentRange.cs,Extract\PageRange.cs, andPdfStatus.cs, but is not in the project's<Reference>list and noSystem.Webtype is used in compiled code — these are unused usings inherited from earlier project scaffolding.*- iTextSharp 5.5.11 was released in 2016;
PdfReader,PdfStamper, andPdfCopyare invoked directly on caller-supplied, potentially untrusted bytes with no version-specific advisory check performed as part of this analysis.** PdfAPI.Coreis packaged (compiled DLL plus full.cssource tree) into two separate NuGet packages that also carry their own dependency sets:Pdf.Local.Client(depends oniTextSharp5.5.11 and nineSyncfusion.*17.4.0.46 packages, alongsidePdfAPI.SyncFusionCore.dll) andPdfAPI.Client(depends onSAIF.Framework.Common1.0,SAIF.Web.API.Clients1.0, andiTextSharp5.5.11). Neither package declares a dependency on the other; both bundlePdfAPI.Coredirectly rather than referencing it as a package.- Both nuspecs target
lib\net45, whilePdfAPI.Core.csprojtargets .NET Framework v4.6.2 — the packages advertise a lower target framework than the assembly is compiled against. - Because both nuspecs glob
PdfAPI.Core\**\*.csintosrc\PdfAPI.Core, the non-compiledPdfAPI.Core.v1.*andPdfAPI.Services.PdfSettingssource files reach consumers as source-only artifacts that cannot be used from the referencedPdfAPI.Core.dll.
Related documentation¶
- Index
- Overview
- Architecture
- Operations and processes
- Business rules
- Security and authorization
- API reference
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.
Sources¶
PdfAPI.Core\PdfAPI.Core.csprojPdfAPI.Core\packages.configPdfAPI.Core\Extract\DocumentRange.csPdfAPI.Core\Services\PdfClientService.csPdfAPI.Core\Document.csPdfAPI.Core\PdfStatus.csPipelines\build-local-nuget.ymlPipelines\build-vars-local-nuget.ymlPipelines\build-client.ymlPipelines\build-vars-client.ymlScripts\Pdf.Local.Client\Pdf.Local.Client.nuspecScripts\PdfAPI.Client\PdfAPI.Client.nuspecnuget.config