var React, viewer;
window.onload = function(){
viewer = new DsPdfViewer("#viewer", {
workerSrc: "/diodocs/pdfviewer/demos/product-bundles/build/dspdfviewer.worker.js",
supportApi: false,
restoreViewStateOnLoad: false,
language: "ja"
});
viewer.addDefaultPanels();
const toolbarLayout = viewer.toolbarLayout;
toolbarLayout.viewer.mobile = toolbarLayout.viewer.default = ["$navigation", "$zoom"];
React = viewer.getType("React");
// 独自のセカンドツールバーを "custom-toolbar-key" として登録
viewer.options.secondToolbar = {
render: function(toolbarKey) {
if(toolbarKey === "custom-toolbar-key") {
return [
createOpenPdfButton("helloworld.pdf"),
createOpenPdfButton("diodocs_catalog.pdf"),
createOpenPdfButton("wetlands.pdf")
];
} else {
return null;
}
}
};
// 独自のセカンドツールバーを表示
viewer.showSecondToolbar("custom-toolbar-key");
viewer.open("/diodocs/pdfviewer/demos/product-bundles/assets/pdf/helloworld.pdf");
}
function createOpenPdfButton(pdfName) {
const pdfUrl = "/diodocs/pdfviewer/demos/product-bundles/assets/pdf/" + pdfName;
const disabled = viewer.fileName === pdfName ? true : false;
return React.createElement("button", { className: "gc-btn gc-btn--accent",
disabled, style: { padding: "0 10px 0 10px" },
onClick: disabled ? null : () => { viewer.open(pdfUrl); },
title: "Open " + pdfName }, pdfName);
}
function createLabel(labelText){
return React.createElement("label", { style: {color: "white"} }, labelText);
}
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>セカンドツールバーのカスタマイズ</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="./src/styles.css">
<script src="/diodocs/pdfviewer/demos/product-bundles/build/dspdfviewer.js"></script>
<script src="/diodocs/pdfviewer/demos/product-bundles/build/wasmSupportApi.js"></script>
<script src="/diodocs/pdfviewer/demos/resource/js/init.js"></script>
<script src="./src/app.js"></script>
</head>
<body>
<div id="viewer"></div>
</body>
</html>
#viewer {
height: 100%;
}