// ==UserScript== // @name 北师硕博论文下载器 // @icon data:image/image/vnd.microsoft.icon;base64,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 // @version 1.0.7 // @namespace https://bnu.edu.cn // @description 本程序仅因北师大在线pdf文档无法在线标记而制作,严格禁止下载文件外传,请务必配合 // @author None 佚名 // @antifeature 需要登录图书馆论文版权系统才能导出PDF // @require https://cdn.bootcss.com/jquery/3.5.1/jquery.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.2/jspdf.debug.js // @require https://cdn.staticfile.org/html2canvas/1.4.1/html2canvas.min.js // @match *://etdlib.bnu.edu.cn/read/* // @license Apache-2.0 // @downloadURL none // ==/UserScript== (function () { console.log('Thesis helper loaded'); 'use strict'; $(function () { console.log('Thesis helper loaded'); function addbutton() { // 页面增加下载按钮 var topElement = document.querySelector('.pdf-top-con'); // 添加toolif var newGroup = document.createElement('div'); newGroup.setAttribute('class', 'toolbar-lf'); // 添加分隔符 var fgElement = document.createElement('div'); fgElement.setAttribute('class', 'toolbar-separator'); // 添加下载button var newAnchorElement = document.createElement('a'); newAnchorElement.setAttribute('class', 'downloadbutton'); newAnchorElement.setAttribute('onclick', 'download();'); var newParagraphElement = document.createElement('p'); newParagraphElement.innerHTML = '📩 下载PDF'; newAnchorElement.appendChild(newParagraphElement); topElement.appendChild(newGroup); newGroup.appendChild(fgElement); newGroup.appendChild(newAnchorElement); topElement.appendChild(newGroup); } // 显示提示的功能 function showtoast(msg, duration = 3000) { var m = document.createElement('div'); m.innerHTML = msg; m.setAttribute('id', 'msg'); m.style.cssText = "max-width:60%;min-width: 150px;padding:0 14px;min-height: 40px;color: rgb(255, 255, 255);line-height: 40px;text-align: center;border-radius: 4px;position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);z-index: 9999999999;background: rgba(0, 0, 0,.7);font-size: 16px;"; document.body.appendChild(m); setTimeout(() => { var d = 0.5; m.style.webkitTransition = '-webkit-transform ' + d + 's ease-in, opacity ' + d + 's ease-in'; m.style.opacity = '0'; setTimeout(() => { document.body.removeChild(document.querySelector("#msg")) }, d * 1000); }, duration); } const Controllerdocs = { // 本部分代码参考 “文库下载器|百度网盘直链解析下载 http://www.zhihupe.com/” // PDF 合并功能进度展示代码 addStatus:function(){ const statusOverlay = `
正在加载...
0%
`; const messageOverlay = `
testtest
`; document.body.insertAdjacentHTML('afterbegin', statusOverlay); document.body.insertAdjacentHTML('afterbegin', messageOverlay); document.head.appendChild(document.createElement('style')).innerHTML = ` .s-top{position: fixed;top: 0;left: 0;bottom: 0;right: 0;z-index: 99999999;padding-top: 40vh;display: none;} .s-top.s-top-message{text-align: center;} .s-message{background-color: #000000aa;color: white;padding: 8px 14px;text-align: center;font-size: 18px;border-radius: 6px;display: inline-block;} .s-top.s-top-status{z-index: 99999998;cursor: wait;background-color: rgba(0, 0, 0, 0.4);backdrop-filter: blur(10px) saturate(1.8);} .s-top.show{display: block;} .s-panel{background: white;width: 90%;max-width: 480px;border-radius: 12px;padding: 14px 24px;margin: 0 auto;} .s-progress-wrapper{height: 24px;border-radius: 12px;width: 100%;background-color: #eeeff3;overflow: hidden;margin-bottom: 12px;} .s-progress{background-color: #54be99;height: 24px;width: 0;transition: width 0.2s ease;} .s-status{display: flex;font-size: 14px;} .s-text{flex-grow: 1;color: #5f5f5f;} .s-progress-text{color: #54be99;font-weight: bold;} .s-message{} .swal2-actions{margin: 20px auto 0;} .swal2-styled.swal2-cancel{border-radius: 5px;font-size: 16px;} .swal2-styled.swal2-confirm{border-radius: 5px;font-size: 16px;} .swal2-styled{margin: 5px;padding: 8px 16px;} .none{display:none} `; }, showStatus:function(text='', progress=-1){ document.querySelector('.s-top.s-top-status').classList.add('show'); if(text) document.querySelector('.s-panel .s-text').innerHTML = text; if (progress >= 0) { progress = Math.min(progress, 100); document.querySelector('.s-panel .s-progress').style.width = `${Math.floor(progress)}%`; document.querySelector('.s-panel .s-progress-text').innerHTML = `${Math.floor(progress)}%`; } }, hideStatus:function(){ document.querySelector('.s-top.s-top-status').classList.remove('show'); }, } function add_img_url() { return new Promise((resolve) => { showtoast('正在获取数据中,请勿操作',500) document.getElementById('btnfirst').click(); // 返回首页 let checkImages = () => { var img_database = document.querySelectorAll('img'); var TotalPage = parseInt((document.getElementById('totalPages').innerText).match(/\d+/)[0]); // console.log('Number of images:', img_database.length); // img_url 空值检查 var imgList = Array(); for (let i = 0; i < img_database.length; i++) { imgList[i] = img_database[i].currentSrc; } if (img_database.length !== TotalPage || imgList.includes('')) { setTimeout(() => { showtoast('正在获取数据中,请勿操作',500); document.getElementById('btnnext').click(); checkImages(); }, 500); // 间隔0.5秒翻页 } else { document.getElementById('btnnext').click(); // console.log('准备制作PDF的IMG储备完毕'); // console.log(imgList); resolve('图片链接加载成功'); } }; checkImages(); }); } function loadImage(url) { // 图片加载 return new Promise((resolve, reject) => { var img = new Image(); var data; img.setAttribute("crossOrigin", "Anonymous"); img.src = url; img.onError = function () { throw new Error('Cannot load image: "' + url + '"'); }; img.onload = function () { var canvas = document.createElement("canvas"); document.body.appendChild(canvas); canvas.width = img.width; canvas.height = img.height; var ctx = canvas.getContext("2d"); ctx.drawImage(img, 0, 0); // Grab the image as a jpeg encoded in base64, but only the data data = canvas .toDataURL("image/jpeg") .slice("data:image/jpeg;base64,".length); // Convert the data to binary form data = atob(data); document.body.removeChild(canvas); resolve(data); }; }); } async function download() { // 加载img_url await add_img_url(); Controllerdocs.addStatus(); // pdf 图片下载 var imgList = Array(); var img_database = document.querySelectorAll('img'); for (let i = 0; i < img_database.length; i++) { imgList[i] = img_database[i].currentSrc; } var imgData = new Array(); for (var i = 0; i < imgList.length; i++) { var link = imgList[i]; // console.log("获取第" + (i+1) + "张图片"); // console.log(link); Controllerdocs.showStatus('准备合并为PDF文件中,请勿离开本页面', (i + 1) /imgList.length * 100); // 本行可以删除,从而达到不影响自动翻页结束后论文阅读的目的 await loadImage(link).then((data) => { imgData.push(data); }); } // pdf 图片合并为pdf // console.log("正在合并图片为PDF"); Controllerdocs.showStatus('正在合成图片为PDF文件'); var contentWidth = parseFloat(document.getElementById('PageContainer_0').style.width.replace('px', '')) var contentHeight = parseFloat(document.getElementById('PageContainer_0').style.height.replace('px', '')) const orientation = contentWidth > contentHeight ? 'l' : 'p'; var doc = new jsPDF({ orientation: orientation, unit: "px", format: [contentWidth, contentHeight], }); const namepdf = document.getElementById('infoname').value const output = namepdf + ".pdf"; let idx = 0; imgData.forEach((e) => { idx++; doc.addImage(e, "JPG", 0, 0, contentWidth, contentHeight); if (idx < imgData.length) { doc.addPage(); } }); doc.save(output); Controllerdocs.hideStatus(); } // 绑定下载按钮 $(document).ready(function () { $(".downloadbutton").on("click", function () { download(); }); }); addbutton(); }) })()