pdf.js プロジェクトを見つけました。これは非常に便利です。ただし、「ダウンロード」オプションを削除する方法がわかりません。
手順は次のとおりです。
ヘッダーセクションにこれを追加します。
<script>
$(function(){
$('#download').hide();
});
</script>
完了!
ボタンを削除するだけでpdf.jsが壊れます。それらに「隠し」クラスを追加する必要があります( https://github.com/mozilla/pdf.js/issues/2611 )
これをviewer.cssに追加するだけです
.download
{
display:none !important;
}
.print
{
display:none !important;
}
ソースを変更します。 web /viewer.htmlの85行目。
https://github.com/andreasgal/pdf.js/blob/master/web/viewer.html#L85
ボタンを外すだけです。
<button id="download" title="Download" onclick="PDFView.download();" oncontextmenu="return false;">
<img src="images/download.svg" align="top" height="16"/>
Download
</button>
これは、経験豊富で熱心なユーザーによるダウンロードを完全に停止するものではありません。あなたはそれを止めることはできません。しかし、これは好奇心旺盛な人にとって十分な水準を上げるのに十分です。
それを行う別の方法は、実際にはpdf.customise.js
を使用しているように見えます(バンドルされているWordPressプラグインはこの方法で行います)。これを行ってopenFileボタンを削除しました。
まず、viewer.html
に次を追加します。
<script src="pdf.customise.js"></script>
次に、pdf.customise.js
を次のようにします。
(function($) {
$(document).ready(function() {
var params = window.location.search.substring(1).split("&");
var disabledownload = false;
var disableprint = false;
var disabletext = false;
var disabledoc = false;
var disableopen = true;
for (var i = 0; i < params.length; i++) {
var value = params[i].split("=");
if (value && value.length == 2)
if (value[0] == "disabledownload" && value[1] == 1) disabledownload = 1;
else if (value[0] == "disableprint" && value[1] == 1) disableprint = 1;
else if (value[0] == "disabletext" && value[1] == 1) disabletext = 1;
else if (value[0] == "disabledoc" && value[1] ==
1) disabledoc = 1
}
var extracss = "";
if (disabledownload) extracss += " .download {display:none!important;}";
if (disableprint) extracss += " .print {display:none!important;}";
if (disabletext) extracss += " .textLayer {-webkit-touch-callout: none !important; -webkit-user-select: none !important; -khtml-user-select: none !important; -moz-user-select: none !important; -ms-user-select: none !important; user-select: none !important;} .selectTool { display: none !important;}";
if (disabledoc) extracss += " #documentProperties {display:none !important;}";
if (disableopen) extracss += " #openFile { display:none!important;}";
if (disableopen) extracss += " #secondaryOpenFile { display:none!important;}";
if (extracss) {
var style = document.createElement("style");
style.type = "text/css";
style.innerHTML = extracss;
document.getElementsByTagName("head")[0].appendChild(style)
}
$(document).bind("pagerendered", function(e) {
if (disabledownload) $(".download").remove();
if (disableprint) $(".print").remove();
if (disableopen) $("#openFile").remove();
if (disableopen) $("#secondaryOpenFile").remove();
if (disabletext) {
$(".selectTool").remove();
$(".textLayer").remove();
if (PDFViewerApplication) PDFViewerApplication.pdfCursorTools.switchTool(1)
}
if (disabledoc) {
$(".documentProperties").prev(".horizontalToolbarSeparator").remove();
$(".documentProperties").remove()
}
})
})
})(jQuery);
これが純粋なjavascriptの代わりにjQueryを使用するのは好きではありませんが(ただし、そのように簡単に書き直すことができます)、それでも非常にうまく機能します。
最も簡単な方法は、ツールバーの特定のボタン(この場合はダウンロードボタン)にhidden
クラスを追加することです。
PDF.JSのCSSファイルにはデフォルトで隠しクラスが含まれています。したがって、IDがhidden
とdownload
のボタンにsecondaryDownload
クラスを追加するだけです。