C# преобразовать PDF в PDF/A3C#

Место общения программистов C#
Anonymous
 C# преобразовать PDF в PDF/A3

Сообщение Anonymous »

Я хочу создать PDF/A3 из Basic PDF для создания электронных счетов Zugferd. Я надеюсь, что теперь есть лучшие решения этой проблемы. itextsharp.pdfa пакеты Nuget.

Код: Выделить всё

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/a3.
Тем не менее, я запустил 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

Вернуться в «C#»