1

ユーザーがファイルをリポジトリにアップロードできるASP.NETMVCアプリケーションを開発しています。これらのファイルは、pdf、doc、任意のタイプの画像などです。

ユーザーがインポートするファイルを選択したら、アップロード前にその内容を確認できるように、このファイルをブラウザーに表示したいと思います。

ある種のIFrameを使用してPDFを表示できることは知っていますが、この機能を実装するための特定のクラスまたは.netライブラリを探しています。

北が必要です。

4

4 に答える 4

0

これは非常に難しい問題です。役立つライブラリがいくつかあります。たとえば、PDFファイルはghostscriptを使用して画像にレンダリングされる場合があります。WordおよびExcelファイルは、多数のライブラリを使用してPDFまたは画像に変換される場合があります。どれも、AFAIKはそれが得意ではないので、お勧めできません。

MSOを自動化してPDFへの変換を実行することもできますが、それはサーバーコードにとって明らかに安全ではありません。もう1つの可能性は、ソースドキュメントをSWFファイル(flexpaperなど)に変換してフラッシュで表示することです。そこにはいくつかの素晴らしいライブラリがありますが、サポートされるクライアントが制限されます。Sharepointは、この機能の一部を提供することもサポートしています。他の人は、OpenOfficeを使用してMSOドキュメントを変換しましたが、品質も低下しました。

あなた/あなたの会社が何を費やしても構わないと思っているか、そして望ましい結果に大きく依存しているので、私は実際に特定の方向性をアドバイスすることはできません。幸運を。

于 2012-12-13T23:45:46.687 に答える
0

それが不可能だとは言いたくありませんが、有限の努力でそれを行うことはできません。

アップロードする前にユーザーがドキュメントを「レビュー」できるようにするため、求めているのはブラウザベースのソリューションです。

したがって、サーバー側のソリューションを使用することはできません。これは、基本的に「.Netライブラリ」を参照することで求められるものです。

.Netライブラリは、インストールされている.Netのバージョンに依存しています。これは、グラフィカルブラウザが存在するすべてのオペレーティングシステムのすべてのバージョンに存在するわけではありません。

次に、ブラウザのセキュリティの最近の変更により、入力フィールドで選択したファイルの完全なクライアント側ファイル名を読み取ることができなくなりました。

ファイルのバイトストリームにアクセスするには、HTML5とそのFileReaderに依存する必要がありますが、それでも画像ファイルから画像を取得することしかできません。(サンプルを参照

ブラウザとプラットフォームのサポートにより、Flash、ActiveX、Javaのブラウザベースのソリューションを除外すると、JavaScriptが唯一の「合理的な」ソリューションとして残ります。サポートされている各形式のライブラリを使用して、ファイルを画像に変換する必要があります。ブラウザでサポートされている画像形式、またはファイルのテキスト(+画像)表現を抽出します。

于 2012-12-14T00:34:14.617 に答える
0

ここのように、Windowsとエクスプローラーのサムネイルに依存することもできますが、次のことを確認する必要があります。

  1. 最も手の込んだ方法でサーバーを悪用することができます(インストール、ASP.NETからのシェルとの通信)

  2. プレビューするすべてのタイプのサムネイルプロバイダーがサーバーにインストールされています。エクスプローラーでサムネイルが表示された瞬間から、設定が完了したと思います。したがって、PDFの場合、AdobeからPDFリーダーをインストールする必要があるかもしれません。

  3. Docxファイルは、サムネイルをチェックして保存する必要があります(リンクを参照)。docxをサムネイルに変換する簡単で無料の方法は他にないようです。私が見つけた「最良の」解決策は、それを何らかの方法で自動的に再度保存し、サムネイルオプションがチェックされていることを確認することでした。

于 2012-12-14T00:03:49.520 に答える
0

素晴らしいawnsers...私の研究の結果を共有したいだけで、MozillaLabsによってサポートされている素晴らしいクライアントベースのソリューションを見つけました。これは、HTML5とJavascriptに基づくフレームワークであり、ネイティブコードは必要ありません。

ここにプロジェクトのウェブサイトがあります: https ://github.com/mozilla/pdf.js

これがあなたの能力です:http: //mozilla.github.com/pdf.js/web/viewer.html

そして最後に、すべてがどのように機能するかを説明する素晴らしいビデオ http://www.youtube.com/watch?v=Iv15UY-4Fg8&noredirect=1

私の質問を保護するために、サーバー上ですべての可能なファイルをPDFに変換してから、このフレームワークを使用してこのPDFをレンダリングします。

于 2012-12-14T10:32:43.750 に答える