コントローラでPDFを開く - 開いているパラメータを使用できない

私のコントローラでは、pdfを開いてブラウザにストリームしたいと思っています。開いているパラメータを使用しないと、このコードはうまく動作します。しかし、ファイル名の後に#search = "java"のようなオープンパラメータを使用する必要があります。開いているパラメータを使用すると、URLであればうまく動作しますが、Adobeオープンパラメータを使用してファイルを開くことができます。

私が使用しているコードは次のとおりです。

private static final String DOCUMENT_LOCATION = "C:\\testPDF\\mytest.pdf#search=" + "\"" + "java" + "\"";


@RequestMapping(method=RequestMethod.GET)
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

   //set some response headers 
    response.setContentType("application/pdf"); 

    InputStream in = new FileInputStream(DOCUMENT_LOCATION); 
    OutputStream out = response.getOutputStream(); 

   //Copy the bits from instream to outstream 
    byte[] buf = new byte[1024]; 
    int len; 
    while ((len = in.read(buf)) > 0) { 
        out.write(buf, 0, len); 
    } 
    in.close(); 

} 
1
どういう意味ですか、あなたは "ファイル名の後ろに検索パラメータ"が必要ですか? Javaを開くためのファイル名を指定しています。ファイルシステムとは何の関係もないランダムなパラメータではなく、ファイル名だけを与えることができます。
追加された 著者 Dave Newton,
方法がわからない...あなたが試みることができる1つのことは、URLを介して開いたときに応答ヘッダーをチェックして、何かが戻ってきてブラウザ/リーダーが検索を行うかどうかを調べることです。
追加された 著者 Dave Newton,
@Inerdiaそれはあまりにも私の推測だろうが、私はまだ見えるだろう、 '私はそれのようなoreeyです。 URLにパラメータが含まれていると、実際のファイルではないことをReaderがどのように知るかはわかりません。または添付ファイルのファイル名に?ダニー。
追加された 著者 Dave Newton,
@DaveNewton私はそれが実際にそのパラメータのクライアント側のURLを検査するAdobe Readerプラグインだと推測しているので、返信する特別なものはありません。
追加された 著者 millimoose,
ええ、それは問題です、私はファイルを開くことができますが、私はこれが私がファイルを開く必要がある方法だとは思わない。ローカルディレクトリにファイルを開き、引き続きオープンパラメータを使用する方法はありますか?
追加された 著者 user984701,

2 答え

Adobe Acrobat Readerでサポートされている特定のパラメータを使用する場合は、これらのパラメータをブラウザのプラグインまたはクライアントマシンのリーダーに指定する方法を検索する必要があります。

Javaはファイルを開いているだけで、そのフォーマットについては何も知らないので、これらのパラメータを考慮してサーバ内のファイルを「開く」方法はありません。

1
追加された
@Dave Newton:コメントを回答として投稿する必要があります。単純な "これは不可能"なので、常に有効な答えです。
追加された 著者 Ralph,
それは本当に答えではありません。コメントのちょっとした再考。
追加された 著者 Dave Newton,
よく私は私の戦術を変えなければならないかもしれない。私はURLを使用する場合、開いているパラメータが正しく動作することを知っています。私のプロジェクトでは、pdfsを保持しているpdfディレクトリをインクルードし、jspのように呼び出すことができました。唯一の問題は、pdfsが古くなる可能性があり、私はそれらに更新を加えなければならないということです。私は最新のpdfsを手に入れようとスケジュールされた仕事をすることができますが、更新されたファイルはどこに置くべきですか?新しいスレッドを作成する必要がありますか?
追加された 著者 user984701,
私の本当の根底にある問題は、検索語が見つかったときにpdfを強調したいのですが、私の研究に基づいてAdobeがもう強調表示をサポートしていないと思われ、最良の方法は検索パラメータを渡すことです。
追加された 著者 user984701,

まあ、Adobeがもはやオープンパラメータをサポートしていないことが判明したので、私がやったのはAdobeの検索機能を自動的に開くsearch urlパラメータを渡すことでした。 UnfortunatleyこれはIEでのみFirefoxでは動作しません。

1
追加された