2014-07-07 43 views
3

我想找到一種方法來打開或轉換爲C#中的任何其他格式的web檔案文件。目標是對文件類型儘可能少的限制的自動導入系統。我似乎無法找到任何轉換文件,而不是使用Safari瀏覽器打開它。打開或轉換在c#中的web檔案文件#

+1

網絡存檔格式是蘋果公司獨有的,並且根據本[wiki文章](http://en.wikipedia.org/wiki/Webarchive)僅爲Safari設計。你想用它做什麼? – JNYRanger

+0

這是一個開發了一個使用Objective-C提取webarchives應用程序的人的github鏈接,它可能對您有所幫助:[GitHub -WebArchiveExtractor](https://github.com/robrohan/WebArchiveExtractor) – JNYRanger

+0

我正在嘗試將其導入文檔管理系統。 – gashach

回答

0

不幸的是,你正在尋找的東西不能真正做到。 Webarchive是由Apple製作的專有文件類型,用於在Safari中顯示離線網頁。這是xml,html和二進制數據的組合,但Objective-C中有一些示例將webarchive轉換爲一個zip存檔,其中包含最初顯示在網站上的html和嵌入的圖像/媒體,這些圖像/媒體已保存到web檔案文件。

這裏是從GitHub一個Objective-C的例子 - WebArchiveExtractor

至於轉換爲PDF ...不知道可以做,你會過得更好打印的網頁,以PDF擺在首位,然後將其上傳到您的文檔管理系統。

儘管webarchive文件類型包含與MHTML文件類似的二進制編碼圖像/媒體的XML,因此您可能可以通過在文本編輯器中查看它們然後編寫轉換實用程序來計算出格式,但這裏有有關Webarchive文件格式的內部模式的信息有限,所以這可能是一項艱鉅的任務。然而,由於WebKit是開源的,你可以看到他們的代碼來創建一個存檔並嘗試將其轉換爲構建轉換器。以下是Safari中的歸檔功能的源代碼(實際上它們看起來像是使用mhtml),但我還沒有深入探討它是否完全相同的格式:http://trac.webkit.org/browser/trunk/Source/WebCore/loader/archive

祝你好運!

+0

反對票是針對格式專有的常見錯誤信息。 [11年前已修復](http://trac.webkit.org/changeset/6580); WebResource,WebArchive和相關API已發佈。 –

+1

@GrahamPerrin作爲需要立即打開其中一個文件的人,發佈的「標準」並不完全有幫助。在那十一年中,沒有人編寫或移植過在linux/unix/bsd上閱讀.webarchive文件的工具。 – Sparr

+0

@Sparr [work in progress](https://forums.pcbsd.org/thread-20082-post-112422.html#pid112422)... –