PdfAValidatorApi
PdfAValidatorApi wraps calls to VeraPdf in a .net standard assembly and as WebApi. Access VeraPdf from your Unittests or integrate it into your micorarchitecture.
Install / Use
/learn @Codeuctivity/PdfAValidatorApiREADME
Codeuctivity.PdfAValidator
PdfAValidatorApi wraps calls to VeraPdf in a .net standard assembly and as WebApi. Access VeraPdf from your unit tests or integrate it into your micro architecture. Works on Windows, Linux and MacOs.
Sample - e.g. use it in your unit test to check compliance of some pdf:
public static async Task ShouldDetectCompliantPdfA()
{
using var pdfAValidator = new PdfAValidator();
var result = await pdfAValidator.ValidateAsync("./TestPdfFiles/FromLibreOffice.pdf");
Assert.True(result);
}
Sample - e.g. use it in your unit test to check the used sub standard of some pdf:
public static async Task ShouldGetDetailedReportFromPdfA()
{
using var pdfAValidator = new PdfAValidator();
var result = await pdfAValidator.ValidateWithDetailedReportAsync("./TestPdfFiles/FromLibreOffice.pdf");
Assert.True(result.Jobs.Job.ValidationReport.IsCompliant);
Assert.True(result.Jobs.Job.ValidationReport.ProfileName == "PDF/A-1A validation profile");
}
Sample - e.g. use it in your unit test to check PDF meta data:
public static async Task ShouldGetFeaturesReportWhenAskingForIt()
{
using var pdfAValidator = new PdfAValidator();
var result = await pdfAValidator.ValidateWithDetailedReportAsync("./TestPdfFiles/FromLibreOffice.pdf", "--extract informationDict");
var producerEntry = result.Jobs.Job.FeaturesReport.InformationDict.Entries.Single(e => e.Key == "Producer");
Assert.Equal("LibreOffice 6.1", producerEntry.Value);
}
Demo OpenApi - PdfAValidatorWebApi
Give https://pdfavalidator.azurewebsites.net a try, but don't be disappointed if it is off-line. The demo azure account is running on limited budget.
Dependencies
Windows
Everything comes with the nuget package
Ubuntu
Current PdfAValidatorApi depends on openjdk-11-jre and some .net version.
sudo apt install openjdk-11-jre
sudo update-alternatives --config java
Development dependencies
Setup .net sdk ubuntu 22.04
sudo apt install dotnet6
Related Skills
node-connect
344.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
96.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
