Найдите, извлеките и сохраните встроенный XML-файл в формате PDF.C#

Место общения программистов C#
Anonymous
Найдите, извлеките и сохраните встроенный XML-файл в формате PDF.

Сообщение Anonymous »

Сейчас я пытаюсь извлечь и сохранить встроенный файл из PDF-файла. Речь идет о немецком «ZUGFeRD» PDF (электронном счете-фактуре). В этом PDF-файле есть XML-файл с именем zugferd-invoice.xml или factur-x.xml. Мне нужно извлечь это из PDF-файла и сохранить как Factur1234.xml.
После долгих поисков я нашел iText Core 9.5. Сейчас пытаюсь решить с его помощью свою проблему. Но я не могу найти способ сохранить файл XML.
Я могу найти файл только с этим кодом:

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

PdfDocument pdfDocument = new PdfDocument(new PdfReader(SRC));
PdfNameTree names = pdfDocument.GetCatalog().GetNameTree(PdfName.EmbeddedFiles);

foreach (var entry in names.GetNames())
{
if (entry.Key.ToString() == "zugferd-invoice.xml" || entry.Key.ToString() == "factur-x.xml")
{
//do something
}
}
Но я не могу найти способ сохранить это в файл.
Или я могу найти и сохранить все потоки в формате PDF. Но там я не могу найти способ получить имена потоков, чтобы сохранить ТОЛЬКО правильный файл.
Вот моя попытка:

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

int numberOfPdfObject = pdfDocument.GetNumberOfPdfObjects();

for (int i = 1; i

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