ObviousPDF.Xml
1.5.0
dotnet add package ObviousPDF.Xml --version 1.5.0
NuGet\Install-Package ObviousPDF.Xml -Version 1.5.0
<PackageReference Include="ObviousPDF.Xml" Version="1.5.0" />
<PackageVersion Include="ObviousPDF.Xml" Version="1.5.0" />
<PackageReference Include="ObviousPDF.Xml" />
paket add ObviousPDF.Xml --version 1.5.0
#r "nuget: ObviousPDF.Xml, 1.5.0"
#:package ObviousPDF.Xml@1.5.0
#addin nuget:?package=ObviousPDF.Xml&version=1.5.0
#tool nuget:?package=ObviousPDF.Xml&version=1.5.0
ObviousPDF.Xml
XML-to-PDF renderer for ObviousPDF. Accepts an XML document conforming to the ObviousPDF XML Schema and produces a tagged, accessible PDF.
Quick Start
using ObviousPDF.Xml;
// Render XML string to a PDF file
PdfXmlRenderer.Render(xmlString, "output.pdf");
// Render from an XML file
PdfXmlRenderer.RenderFromFile("input.xml", "output.pdf");
// Build a PdfDocument without saving
var doc = PdfXmlRenderer.BuildDocument(xmlString);
Features
- Full XML Schema (XSD 1.1) support for the ObviousPDF document model
- All 26 content element types (text, images, shapes, annotations, form fields, etc.)
- Tagged PDF and PDF/UA accessibility support
- Auto-tag mode for easy accessible PDF generation
- Coordinate system transformation (top-left or bottom-left origin)
- Font embedding (standard, bundled, file, base64)
- Image support (file, base64, URL)
- FormXObjects, shadings, tiling patterns, layers
- Digital signatures and encryption
- Accessibility report generation
Easy Accessibility (Recommended)
Make any XML-to-PDF document fully accessible with a single attribute:
<Document xmlns="https://obviouspdf.com/schemas/xml/1.0"
coordinateOrigin="topLeft"
accessible="true">
<DocumentSettings language="en-US" displayDocTitle="true">
<Info title="My Document" />
</DocumentSettings>
<Pages>
<Page size="Letter">
<Content>
<Text x="72" y="720" structureTag="H1">Hello, accessible world!</Text>
</Content>
</Page>
</Pages>
</Document>
With accessible="true", the renderer automatically enables tagged PDF, PDF/UA-1 conformance,
auto-tagging for text and images, standard font auto-upgrade, and correct form field structure
placement. No manual structure tree is required.
Use structureTag="H1" (or "H2", "BlockQuote", etc.) on any element to override the
default <P> auto-tag for richer document semantics.
See the Form 1040 Easy Accessibility example for a complete 3-page IRS form with checkboxes, text fields, and dropdowns.
Sister Projects
| Package | Format | Best For |
|---|---|---|
ObviousPDF.Json |
JSON | Web APIs, LLM/AI generation |
ObviousPDF.Xml |
XML | Enterprise workflows, XSLT transforms |
ObviousPDF.Csv |
CSV | Spreadsheet authoring (Excel, Google Sheets) |
All three pipelines produce identical PDF output and share the same accessibility features.
XML Namespace
<Document xmlns="https://obviouspdf.com/schemas/xml/1.0">
<Pages>
<Page size="Letter">
<Content>
<Text x="72" y="720">Hello, ObviousPDF!</Text>
</Content>
</Page>
</Pages>
</Document>
See the full XML schema specification for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- ObviousPDF (>= 1.5.0)
- ObviousPDF.Json (>= 1.5.0)
-
net6.0
- ObviousPDF (>= 1.5.0)
- ObviousPDF.Json (>= 1.5.0)
-
net8.0
- ObviousPDF (>= 1.5.0)
- ObviousPDF.Json (>= 1.5.0)
-
net9.0
- ObviousPDF (>= 1.5.0)
- ObviousPDF.Json (>= 1.5.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.