Код: Выделить всё
public void CreatePdfA3BDocument(string pdfPath, string pdfA3OutputPath, string xmlAttachementFilePath = "")
{
byte[] pdfA3Bytes;
Document doc = new();
using (MemoryStream ms = new())
{
using (PdfAWriter writer = PdfAWriter.GetInstance(doc, ms, PdfAConformanceLevel.PDF_A_3B))
{
doc.Open();
writer.CreateXmpMetadata();
writer.Open();
PdfReader reader = new (pdfPath);
foreach (int i in Enumerable.Range(1, reader.NumberOfPages))
{
PdfImportedPage import = writer.GetImportedPage(reader, i);
doc.SetPageSize(reader.GetPageSize(i));
doc.NewPage();
writer.DirectContent.AddTemplate(import, 0f, 0f);
}
if (!string.IsNullOrWhiteSpace(xmlAttachementFilePath))
{
PdfFileSpecification specification = PdfFileSpecification.FileEmbedded(writer, xmlAttachementFilePath, "factur-x.xml", null, PdfStream.NO_COMPRESSION);
specification.Put(new PdfName("AFRelationship"), new PdfName("Data"));
writer.AddFileAttachment(specification);
}
doc.AddTitle("ZUGFeRD E-Rechnung");
doc.AddAuthor("WKG-Software GmbH");
doc.Close();
writer.Close();
reader.Close();
}
pdfA3Bytes = ms.ToArray();
}
File.WriteAllBytes(pdfA3OutputPath, pdfA3Bytes);
}
Тем не менее, я запустил PDF один раз через Инструмент проверки онлайн (AVEPDF.com). < /p>
Я получаю ошибки: < /p>
Зависимое от устройства цветовое пространство, используемое без сопоставления Pdf/a outputintent.
шрифт не встроен.
После обработки созданного файла с помощью библиотеки Zugferd, которая создает XML и прикрепляет его к PDF, так что для меня кажется, что это желаемый результат, который я хотел достичь, но ошибки на Валидация даже получить больше: < /p>
Документ xmp metadata отсутствует. /> Словарь имен содержит запрещенную запись EmbeddedFiles. < /p>
< /blockquote>
markinfo Отсутствует словарь. >
Зависимое от устройства цветовое пространство, используемое без сопоставления pdf /a outputintent. < /p>
< /blockquote>
шрифт не встроен. PDF/A Expert У меня есть несколько вопросов:
- Это критические ошибки в отношении электронных инвизации или их можно игнорировать?
- Как это должно встраивать шрифты, так как я могу работать только с данным PDF, поскольку я сам не создаю начальный PDF. Могу ли я прочитать шрифты и внедрить их таким образом? itext?
Подробнее здесь: https://stackoverflow.com/questions/794 ... -to-pdf-a3