откройте или конвертируйте файл webarchive на c#

#c# #webarchive

#c# #веб-архив

Вопрос:

Я пытаюсь найти способ открыть или преобразовать файл webarchive в любой другой формат на C #. Целью является автоматизированная система импорта с как можно меньшим количеством ограничений по типу файла. Кажется, я не могу найти никакого способа конвертировать файл, кроме как использовать safari для его открытия.

Комментарии:

1. Формат webarchive является собственностью Apple и предназначен только для Safari согласно этой вики-статье . Что вы пытаетесь с ним сделать?

2. Вот ссылка на github человека, который разработал приложение для извлечения веб-архивов с использованием Objective-C, которое может быть вам полезно: GitHub -WebArchiveExtractor

3. Я пытаюсь импортировать его в систему управления документами.

4. Почему бы вам тогда просто не загрузить его в свою систему управления документами как webarchive? Во что вы пытаетесь его преобразовать?

5. система управления документами не примет файл webarchive. в конечном итоге я надеялся конвертировать в pdf.

Ответ №1:

К сожалению, то, что вы ищете, на самом деле невозможно сделать. Веб-архив — это проприетарный тип файлов, созданный Apple для отображения автономных веб-страниц в Safari. Это комбинация xml, html и двоичных данных, но в Objective-C есть примеры преобразования веб-архива в zip-архив, содержащий html и встроенные изображения / мультимедиа, которые изначально отображались на веб-сайте и были сохранены в файле webarchive.

Вот пример Objective-C из GitHub — WebArchiveExtractor

Что касается конвертации в PDF … не уверен, что это возможно, вам было бы лучше сначала распечатать веб-страницу в формате PDF, а затем загрузить ее в свою систему управления документами.

Очевидно, что тип файла webarchive содержит XML с двоичными кодированными изображениями / мультимедиа, похожими на файл MHTML, поэтому вы можете определить формат, просмотрев их в текстовых редакторах, а затем написав утилиту преобразования, но в Интернете имеется очень ограниченная информация о внутренней схеме формата файла webarchive, так что это может оказаться непростой задачей. Однако, поскольку WebKit имеет открытый исходный код, вы можете просмотреть их код для создания архива и попытаться изменить его для создания вашего конвертера. Вот исходный код (на C ) для функций архивирования в Safari, который на самом деле выглядит так, как будто они используют mhtml, но я недостаточно глубоко изучил, чтобы определить, точно ли это тот же формат: http://trac.webkit.org/browser/trunk/Source/WebCore/loader/archive

Удачи!

Комментарии:

1. Голос «против» отдан за распространенную дезинформацию о том, что формат является проприетарным. <rdar://проблема/3616537> была исправлена одиннадцать лет назад ; были опубликованы WebResource, WebArchive и связанные API.

2. @GrahamPerrin Как человек, которому нужно открыть один из этих файлов прямо сейчас, публикуемый «стандарт» не совсем полезен. За эти одиннадцать лет никто не написал и не портировал инструмент для чтения. файлы webarchive в linux / unix / bsd.

3. @Sparr продолжается работа …