PDFをWebブラウザに簡単に表示する備忘録です。
先回は単体で表示させていましたが、今度は切り替えて表示が出来るようにしました。
テキストファイルでPDFのURLリストを事前に作成しておきます。
そのテキストファイルを読込み、selectに格納します。
selectでPDFを選択することでPDFを表示します。
タイマー機能を付けてPDFを表示すれば、工夫次第でスライドをめくるように進めることもできます。
ちなみに、jqueryを使いましたので先回と少し文法等が異なります。
それからobjectを利用したのでIEでしか動きません。embedに切り替えればChromeでも動きますので適宜切り替えて使ってください。
<html>
<head>
<title>test</title>
<script src="./jquery.min.js"></script>
<script>
$(document).ready(function () {
var i=0;
$("#Select1").change(function () {
pdfChange();
});
$("#files").change(function () {
if (window.File) {
// File APIが実装のブラウザ
var fileList = document.getElementById("files").files;
var reader = new FileReader();
reader.onload = function () {
// ファイル読み込み完了時
var term = reader.result.split('\n');
$.each(term, function (index, elem) {
$("#Select1").append($('<option>').html(elem).val(elem));
});
//初回のPDF更新
pdfChange();
}
// ファイルの読込み
reader.readAsText(fileList[0], "utf-8");
}
else {
// File APIが未実装のブラウザ
$("#list").html("File APIが未実装のブラウザ");
}
});
//PDF表示切替
function pdfChange() {
if (i > 0) {
$("#div_PDF").empty();
}
i += 1;
//OBJECTタグを作成
var tid = 'objPdf' + jQuery.now().toString();
var obj = document.createElement('object');
obj.setAttribute('id', tid);
obj.setAttribute('classid', 'clsid:CA8A9780-280D-11CF-A24D-444553540000'); // PDFのクラスID(固定値)
obj.setAttribute('style', 'width:500px; height:700px;');
//PDFのソースを設定
var param = document.createElement('param');
param.setAttribute('name', 'src');
param.setAttribute('value', $("#Select1").val());
obj.appendChild(param);
//作成したOBJECTタグをDIVタグの中にセット
$("<div id='pdfDiv" + i + "'></div>").appendTo($("#div_PDF"));
var div = document.getElementById('pdfDiv' + i);
div.appendChild(obj);
}
});
</script>
</head>
<body>
<form id="form1">
<div>
<input type="file" id="files" name="files[]" multiple /><br />
▼読込んだファイル(テキストファイル)を表示する<br />
<select id="Select1">
</select>
</div>
<div id="div_PDF" style="width:500px; height:700px; background:#ccc"></div>
</form>
</body>
</html>