Sachin Makwana Ответов: 1

Как сохранить bytearray в PDF?


Я работаю над проектом, в котором требуется хранить байтовый массив любого типа [например, doc, jpg, pdf, xps и т. д.] Только в формате pdf.


Я буду получать только байтовый массив.

У меня не будет никаких знаний о том, из какого типа файла генерируется этот байтовый массив.

Как я могу сохранить этот массив байтов только в формате PDF?

Что я уже пробовал:

File.WriteAllBytes(path+"/file.pdf", bytes);


приведенный выше код отлично работает, если байтовый массив создается только из pdf-файла.

Tomas Takac

То, что вы там делаете, - это просто изменение расширения файла, и это не сработает. Слово, которое вы ищете, - это "обращение". Попробуйте погуглить это в сочетании с pdf, doc...

Sachin Makwana

Спасибо, сэр, за ответ. Используя ключевое слово, которое вы мне предложили,я нашел о iTextSharp.
Теперь мне нужно узнать о iTextSharp.

1 Ответов

Рейтинг:
5

Jochen Arndt

Вы должны знать тип передаваемых данных. Без этой информации вы не сможете сделать ничего полезного.

Если вы знаете, что данные представляют какой-то тип файла, вы можете попытаться определить этот тип. С Linux есть file команда, которая использует magic (5): файл команды magic pattern file-man-страница Linux[^] для определения типов файлов. С Windows вы должны реализовать что-то подобное (или поискать в интернете существующие реализации).

После того как вы определили тип, вы можете сохранить данные в виде файла с соответствующим расширением и использовать специальный конвертер типов для создания PDF-файла.

Например, PDF-файлы начинаются со строки " %PDF -". Если ваши данные начинаются с этих символов, вы можете предположить, что это PDF-файл и может быть сохранен как таковой.