fbpx
印刷

閲覧は許可して、印刷やコピーを禁止するにはどうしたら良いですか?

BuildVu のオプションを設定したり、出力された HTML や SVG ファイルを編集することで、コピーや印刷、ダウンロードによる閲覧をある程度防ぐ(*1)ことができます。

*1 この方法では、簡易的にコピーや印刷、ダウンロード(ブラウザーによる保存)を防ぐことができます。ただし、この手法では技術を持つ人には突破できてしまいます。

テキストのコピーを禁止したい

変換時に「-Dorg.jpedal.pdf2html.textMode」オプションを「svg_shapetext_nonselectable」に設定することで、機械的なテキストのコピーを禁止することができます。

具体的には、下記への対策になります。
・マウス/キー/タップの操作によるテキストのコピー/ペースト(いわゆるコピペ)
・ブラウザの「ページを保存」操作でのテキストの保存

-Dorg.jpedal.pdf2html.textMode=svg_shapetext_nonselectable

なお、ソースファイルにテキストが記述されなくなるため、検索エンジンなどにもテキストは検出されません。
また、search.json にもテキストは含まれなくなるため、IDRViewer の検索機能は利用できなくなります。

印刷を禁止したい

印刷の操作自体を禁止することはできませんが、予めファイルを編集しておくことで白紙が印刷されるようにすることが可能です。
(印刷プレビューでも制限の効果を確認できます)

印刷制限比較画像

BuildVu から出力された HTML または SVG ファイルに、次のような CSS を追記することで可能になります。

※ 1.html など、全てのページのファイルに記述してください。
※ 当該 CSS を削除してしまえば印刷できます。

HTML の場合

<style>
@media print {
body { display: none !important; }
}
</style>

SVG の場合

<style><![CDATA[
@media print {
g { display: none !important; }
}
]]></style>

ダウンロードを禁止したい(特定のドメイン下でのみ閲覧を許可したい)

ダウンロード自体を禁止することはできませんが、予めファイルを編集しておくことで、ダウンロードしたファイルをブラウザで開いても、白紙が表示されるようにすることが可能です。
(特定のドメイン下でなければ白紙が表示されます)

閲覧制限比較画像

BuildVu から出力された HTML または SVG ファイルに、次のような JavaScript を追記することで可能になります。

※ 太字部分(www.intwk.co.jp)は適宜書き換えてご利用ください。
※ 1.html など、全てのページのファイルに記述してください。
※ 当該 JavaScript を削除してしまえば閲覧できます。

HTML の場合

<script type="text/javascript">
if (document.location.host != "www.intwk.co.jp") {
document.getElementsByTagName('body')[0].remove();
}
</script>

SVG の場合

<script type="text/javascript"><![CDATA[
if (document.location.host != "www.intwk.co.jp") {
document.getElementsByTagName('svg')[0].remove();
}
]]></script>

BuildVuで変換されたHTML/SVGファイルはPDF1ページ目はを1.html1.svg)と1つのファイルに変換されます。これにより、ブラウザーでダウンロードしても、その時点で読み込んでいるページのみがダウンロードされますので、ページ数が多い場合には全てのページをダウンロードされにくい仕様になっています。

画像の保存を禁止したい

BuildVu から出力されたドキュメントは、特別なオプションを設定しなくても、コンテキストメニューからの画像保存(俗に言う右クリックメニューからの画像保存)はおこなえないようになっています。

しかし、ブラウザのページを保存する機能を利用するなどして、ページを構成する画像も含めてダウンロードすることは可能です。

そこで、変換時に「-Dorg.jpedal.pdf2html.embedImagesAsBase64Stream」オプションを「true」に設定することで、HTML または SVG ファイル内に画像を base64 ストリームとして直接埋め込むことができます。

-Dorg.jpedal.pdf2html.embedImagesAsBase64Stream=true

これにより、画像をファイルとして取得することを困難にすることができます。

※ 完全に禁止することはできません(base64をデコードする技術のある人には対抗できません)。

サンプルファイル

上記全ての制限を施したサンプルドキュメントをご用意いたしました。
ブラウザで開き、コピーや印刷などの操作をおこなった場合の結果をご確認いただけます。

サンプルドキュメント (比較用:制限前のドキュメントはこちら

次のリンクからサンプルドキュメント一式をダウンロードすることができます。
サンプルドキュメントは docs.intwk.co.jp ドメイン下でのみ閲覧を許可しており、ページを構成する画像も全て base64 ストリーム化されています。
制限がかけられたドキュメントをダウンロードし、閲覧しようとした場合の結果をご確認いただけます。

サンプルドキュメントのダウンロード

    MENU
    PAGE TOP