ホームページ  >  記事  >  ウェブフロントエンド  >  js は PDF のオンライン プレビューと印刷を実装します (完全版)

js は PDF のオンライン プレビューと印刷を実装します (完全版)

php是最好的语言
php是最好的语言オリジナル
2018-08-09 10:34:3713624ブラウズ

今日書きたいのは、ネット上に有益なものが少なすぎるので、中途半端に気づいてしまったからです。

1. ご要望をお聞かせください: タイトルをクリックすると、プレビューされた PDF ページに移動します。ダウンロード機能はオプションです (できれば)。

js は PDF のオンライン プレビューと印刷を実装します (完全版)

2. 実装結果:

js は PDF のオンライン プレビューと印刷を実装します (完全版)

3. コード実装:

pdf.js に依存 [完全なコントロールのダウンロードが必要]

公式 Web サイトをダウンロード: http://mozilla.github.io/ pdf.js /

「ダウンロード」をクリックしてダウンロードページに移動します

js は PDF のオンライン プレビューと印刷を実装します (完全版)

git cloneまたはダウンロードします。

ダウンロード後、ファイルは次のようになります:

js は PDF のオンライン プレビューと印刷を実装します (完全版)

[プロジェクトをデプロイして組み立てる方法については後で説明します]

1. 新しい空のプロジェクトを作成し、ファイルをプロジェクトのルート ディレクトリに置きます:

js は PDF のオンライン プレビューと印刷を実装します (完全版)

公式ウェブサイトからダウンロードした場合は、ファイル名を変更してプロジェクトにドラッグするだけで、その中のファイルを覚える必要はありません。必要がある場合は、別途言及してください。

緑色は私が書いたものです [down.html はテストファイル、静的は PDF ファイルです] 以下のコードを貼り付けてください:

list.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-touch-fullscreen" content="yes">
    <meta name="full-screen" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="format-detection" content="telephone=no">
    <meta name="format-detection" content="address=no">
    <title>list</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .title{
            background: #e50041;
            color: #ffffff;
            font-size: 16px;
        }
        .title{
            padding:10px 10px ;
        }
   ul{
       padding:0px 10px 10px 10px ;
   }
        li{
            list-style: none;
            border-bottom: 1px solid #eeeeee;
            height: 50px;
            line-height:50px;
        }
        a{
            text-decoration: none;
            color: #000;
        }
        .leftImg{
            width: 30px;
            vertical-align: middle;

        }
        .next{
            float: right;
            /*vertical-align: middle;*/
            margin-top: 4.5%;

        }
    </style>
</head>
<body>
<p class="title">产品说明书</p>
<ul>
    <li dataSrc = &#39;KD-122LA火灾探测报警器说明书.pdf&#39; onclick="fun(this)">
        <img class="leftImg" src="img/js は PDF のオンライン プレビューと印刷を実装します (完全版)" alt=""> <span href="">KD-122LA火灾探测报警器说明书ccc</span>  <img class="next" src="img/next.png" alt="">
    </li>
    <li dataSrc = &#39;KD-212LA可燃气体探测器说明书.pdf&#39; onclick="fun(this)">
        <img class="leftImg" src="img/js は PDF のオンライン プレビューと印刷を実装します (完全版)" alt=""> <span href="">KD-212LA 可燃气体探测器说明书</span>  <img class="next" src="img/next.png" alt="">
    </li>
    <li dataSrc = &#39;KD-216LA可燃气体探测器说明书.pdf&#39; onclick="fun(this)">
        <img class="leftImg" src="img/js は PDF のオンライン プレビューと印刷を実装します (完全版)" alt=""> <span href="">KD-216LA可燃气体探测器说明书</span>  <img class="next" src="img/next.png" alt="">
    </li>
    <li dataSrc = &#39;Kd-122LA_KD-601系统遥控器使用说明.pdf&#39; onclick="fun(this)">
        <img class="leftImg" src="img/js は PDF のオンライン プレビューと印刷を実装します (完全版)" alt=""> <span href="">Kd-122LA KD-601系统遥控器使用说明</span>  <img class="next" src="img/next.png" alt="">
    </li>
    <li dataSrc = &#39;KD-602LA_SOS一键救助使用说明书.pdf&#39; onclick="fun(this)">
        <img class="leftImg" src="img/js は PDF のオンライン プレビューと印刷を実装します (完全版)" alt=""> <span href="">KD-602LA  SOS一键救助使用说明书</span>  <img class="next" src="img/next.png" alt="">
    </li>
    <li dataSrc = &#39;KD-701LA_溢水探测器使用说明书.pdf&#39; onclick="fun(this)">
        <img class="leftImg" src="img/js は PDF のオンライン プレビューと印刷を実装します (完全版)" alt=""> <span href="">KD-701LA  溢水探测器使用说明书</span>  <img class="next" src="img/next.png" alt="">
    </li>
    <li dataSrc = &#39;KD-702LA红外人体移动探测器说明书.pdf&#39; onclick="fun(this)">
        <img class="leftImg" src="img/js は PDF のオンライン プレビューと印刷を実装します (完全版)" alt=""> <span href="">KD-702LA红外人体移动探测器说明书</span>  <img class="next" src="img/next.png" alt="">
    </li>
    <li dataSrc = &#39;KD-703LA_门窗探测器使用说明书.pdf&#39; onclick="fun(this)">
        <img class="leftImg" src="img/js は PDF のオンライン プレビューと印刷を実装します (完全版)" alt=""> <span href="">KD-703LA  门窗探测器使用说明书</span>  <img class="next" src="img/next.png" alt="">
    </li>
    <li dataSrc = &#39;KD-805A_WiFi系统主机使用说明书_V1.00.pdf&#39; onclick="fun(this)">
        <img class="leftImg" src="img/js は PDF のオンライン プレビューと印刷を実装します (完全版)" alt=""> <span href="">KD-805A  WiFi系统主机使用说明书_V1.00</span>  <img class="next" src="img/next.png" alt="">
    </li>
    <li dataSrc = &#39;WIFI智慧家庭安防系统操作说明书_v0.01.pdf&#39;onclick="fun(this)">
        <img class="leftImg" src="img/js は PDF のオンライン プレビューと印刷を実装します (完全版)" alt=""> <span href="">WIFI智慧家庭安防系统操作说明书_v0.01</span>  <img class="next" src="img/next.png" alt="">
    </li>


</ul>
<script src="js/jquery.min.js"></script>
<script>
    function fun(e){
     // console.log(e);
     var dataSrc = $(e).attr(&#39;dataSrc&#39;);
     //    console.log(dataSrc);
     //    sessionStorage.setItem(&#39;dataSrc&#39;,dataSrc);
     //    window.location.href=&#39;index.html&#39;
        var urlSrc =  &#39;http://testweixin.kingdun.net.cn/pdf/static/&#39;+dataSrc;
        $.ajax({
            url: urlSrc,
            type: "get",
            success: function(xhr, data){
                if (navigator.userAgent.indexOf(&#39;Android&#39;) > -1) {
                    //判断移动端是android 还是ios ,若是android 则要借助pdf插件
                    window.location.href = "http://testweixin.kingdun.net.cn/pdf/pdfjs/web/viewer.html?file="+urlSrc;
                } else {
                    //ios直接打开pdf
                    //window.location.href = url;
                    window.location.href = "http://testweixin.kingdun.net.cn/pdf/pdfjs/web/viewer.html?file="+urlSrc;
                }
            },
            error: function(){
                //window.location.href = &#39;${ctx}/core/user.androidPdf.do?mid=&#39;+mid+"&name="+storagename+"&realname="+realname;
                window.location.href = "http://testweixin.kingdun.net.cn/pdf/js/web/viewer.html?file="+urlSrc;
            }
        });
    }
</script>
</body>

</html>

【互換性】: Apple 携帯電話: 直接プレビュー、携帯電話システムに付属していますが、ダウンロードすることはできません (利益と損失があります)。wps などの他のアプリケーションで開くことができます。预可 Android: プレビュー、ダウンロード、ダウンロードをサポートするために携帯電話のデフォルトのブラウザーで開きます。私は Xiaomi 8 です。UC ブラウザーのダウンロードでは文字化けコードが発生しますが、Xiaomi には PDF ファイルをダウンロードするためのブラウザーが付属しています。

クロスオーバー。

イースターエッグ: down.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-touch-fullscreen" content="yes">
    <meta name="full-screen" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="format-detection" content="telephone=no">
    <meta name="format-detection" content="address=no">
    <title>list</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .title{
            background: #e50041;
            color: #ffffff;
            font-size: 16px;
        }
        .title{
            padding:10px 10px ;
        }
   ul{
       padding:0px 10px 10px 10px ;
   }
        li{
            list-style: none;
            border-bottom: 1px solid #eeeeee;
            height: 50px;
            line-height:50px;
        }
        a{
            text-decoration: none;
            color: #000;
        }
        .leftImg{
            width: 30px;
            vertical-align: middle;

        }
        .next{
            float: right;
            /*vertical-align: middle;*/
            margin-top: 4.5%;

        }
    </style>
</head>
<body>
<p class="title">产品说明书</p>

<a href="static/1.pdf">00001</a>


</body>

</html>

はは、タグ href を直接 PDF ファイルにジャンプすることもできます。 [Apple 携帯電話: 直接プレビュー; Android: ダウンロード リンク]

関連する推奨事項:

js は PDF のオンライン プレビューと印刷を実装します (完全版)JS 印刷関数コードで印刷プレビュー、印刷設定などを実現できます

JavaScript で印刷、印刷を実現できますプレビュー、印刷設定

以上がjs は PDF のオンライン プレビューと印刷を実装します (完全版)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。