| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- using QuestPDF.ConformanceTests.TestEngine;
- using QuestPDF.Fluent;
- using QuestPDF.Helpers;
- using QuestPDF.Infrastructure;
- namespace QuestPDF.ConformanceTests;
- internal class ZugferdTests
- {
- [Test]
- public void ZugferdValidation_WithMustang()
- {
- var guid = Guid.NewGuid();
- var invoicePath = Path.Combine(Path.GetTempPath(), $"{guid}.pdf");
- Document
- .Create(document =>
- {
- document.Page(page =>
- {
- page.Margin(60);
- page.Content()
- .Text("Conformance Test: ZUGFeRD")
- .FontSize(24)
- .FontColor(Colors.Blue.Darken2)
- .Bold();
- });
- })
- .WithMetadata(new DocumentMetadata
- {
- Title = "Conformance Test: ZUGFeRD",
- Author = "SampleCompany",
- Subject = "ZUGFeRD Test Document",
- Language = "en-US"
- })
- .WithSettings(new DocumentSettings
- {
- PDFA_Conformance = PDFA_Conformance.PDFA_3B
- })
- .GeneratePdf(invoicePath);
-
- VeraPdfConformanceTestRunner.TestConformance(invoicePath);
-
- var zugferdInvoicePath = Path.Combine(Path.GetTempPath(), $"zugferd-{guid}.pdf");
- var facturPath = Path.Combine("Resources", "zugferd-factur-x.xml");
- var metadataPath = Path.Combine("Resources", "zugferd-xmp-metadata.xml");
- DocumentOperation
- .LoadFile(invoicePath)
- .AddAttachment(new DocumentOperation.DocumentAttachment
- {
- Key = "factur-zugferd",
- FilePath = facturPath,
- AttachmentName = "factur-x.xml",
- MimeType = "text/xml",
- Description = "Factur-X Invoice",
- Relationship = DocumentOperation.DocumentAttachmentRelationship.Source,
- CreationDate = DateTime.UtcNow,
- ModificationDate = DateTime.UtcNow
- })
- .ExtendMetadata(File.ReadAllText(metadataPath))
- .Save(zugferdInvoicePath);
-
- VeraPdfConformanceTestRunner.TestConformance(zugferdInvoicePath);
- MustangConformanceTestRunner.TestConformance(zugferdInvoicePath);
- }
- }
|