2012-04-12 3 views

答えて

3

2017注:この機能は場所を移動し、実装が元々応答されてから変更されています。


Googleビューアにはsolutionがあります。

生成するiframeを使用します。誰もがビューアでPDFを表示することができますが、どれがそれをダウンロードすることはできませんので

+1

iframeを使用してドキュメントを保存することは実際不可能ですが、フレームの右上にはフルスクリーンモードボタンがあり、フルスクリーンモードではPDFに印刷します。 – 71GA

+0

上記のメソッドはダウンロード機能を無効にしません。 – nottinhill

+0

PHPを使用して生成されたiframeのコードを変更することができます(相対パスからjsファイルの参照URLを絶対パスに変更して)。 – aghoshx

3

短い答えはできません。あらゆる種類の変換なしでPDFドキュメントを表示する唯一の方法は、Adobe PDFプラグインを使用することです。これにより、常にドキュメントを保存することができます。さらに、さまざまなツールを使用してPDFのURLを取得し、そこからダウンロードするのは簡単です。

実際のPDF文書を送信しないようにするには、PDF文書を背後の一連のPNGまたはJPG画像に変換するサーバー側スクリプトを作成することができます。たとえば、ghostscriptでこれを行うことができます。

しかし、ドキュメントの実際の内容は、依然として異なる形式でのみユーザーに届きます。これが満足できるものではない場合は、ユーザーのほとんどがユーザーがイメージを保存するのを防ぐために使用できるvarioustechniquesがありますが、これらは技術的に十分に精通したユーザーによって簡単に回避されます。

+0

少なくともPDFプラグインのコントロールバーを削除できますか? Sooは少なくとも普通のユーザーはそれをダウンロードする方法を知らない。ああ、私はおそらく右クリックも防がなければならなかったでしょう。 – 71GA

+0

利用可能なPDFラスタライザのいずれかを使用できます。 –

3

実際に、それは可能です、あなたは「ダウンロードするのを禁止する視聴者」Googleドライブのオプションで調整することができます はその後、PDFファイルを公開する設定しました。 私はこれがいくつかのために役立つことを願っています。

+1

それはPDFをPNGに変換するので、まだ保存することができますので、これは助けにはなりません... – Legionar

1

SlideShareを使用すると、読み取りパスワードを設定したり、ユーザーが設定をダウンロードできないようにしたり、秘密リンクを作成してそのユーザーだけが開くことができます。私はこれを回避する方法があると確信していますが、少なくとも即時ではありません。

0

はい。はい、あります:

<div id="pdf"> 
    <object width="100%" height="650" type="application/pdf" data="[ImageURLHere]#zoom=85&scrollbar=0&toolbar=0&navpanes=0" id="pdf_content" style="pointer-events: none;"> 
     <p>Insert your error message here, if the PDF cannot be displayed.</p> 
    </object> 
</div> 

pointer-events: noneスタイリングもPDFやダウンロードを右クリックしてからユーザーを防ぐことができます。

+0

ユーザが「ページソースを表示」を使用するとどうなりますか?彼はまだURLを取得できますか? – 71GA

+1

私はAngular 4アプリで試したところ、基本のindex.htmlページを表示しています。私はコンソールのタブを掘り下げてみて、資産をどこにも見つけることができませんでした。 – FiringBlanks

1

PDF.jsをダウンロードし、viewer.htmlとviewer.jsの2つのファイルを変更して、ダウンロード/印刷を無効にするために対応するボタン/アクションを削除/変更し、さらに右クリックメニュー項目を無効にすることができます。

関連する問題