Skip to content

技能人才评价工作网pdf文件下载方法

仲灏2023-09-17约 1 分钟

<div style="display: none;" hidden="true" aria-hidden="true" data-nosnippet>Are you an LLM? You can read better optimized documentation at /pages/5e8584.md for this page in Markdown format</div>

该网站和该技术仅仅学习使用, 若有侵权和侵犯利益, 可联系我删除

方法一: 元素截图

javascript
/*
 * @Author: 仲灏<izhaong@outlook.com>🌶🌶🌶
 * @Date: 2023-08-22 17:31:20
 * @LastEditTime: 2023-08-23 00:35:41
 * @LastEditors: 仲灏<izhaong@outlook.com>🌶🌶🌶
 * @Description:  
 * @FilePath: \js\batchCanvas2picAnDownload.js
 */
/**
 * @Description: 批量canvas转图片并下载脚本
 * @author 仲灏 izhaong@outlook.com
 * @date 2023/8/22
 */

// 1. 获取所有的canvas元素并有序存储
// 2. 批量循环转换为高清图片并有序命名
// 3. 批量触发下载

const getCanvasDom = () => {
  const viewer = document.querySelector('div#viewer.pdfViewer');
  const childrenList = viewer.childNodes;

  return Array.from(childrenList).map((ce) => {
    return {
      ariaLabel: ce.ariaLabel,
      canvasDom: ce.querySelector('div.canvasWrapper > canvas'),
    };
  });
};
console.table(getCanvasDom());
const canvasList = getCanvasDom();

const getPixelRatio = (context) => {
  const backingStore =
      context.backingStorePixelRatio ||
      context.webkitBackingStorePixelRatio ||
      context.mozBackingStorePixelRatio ||
      context.msBackingStorePixelRatio ||
      context.oBackingStorePixelRatio ||
      context.backingStorePixelRatio || 1;
  return (window.devicePixelRatio || 1) / backingStore;
}

const downLoadImage = (canvas,name) => {
  if(!canvas || !name) return
  const a = document.createElement("a");
  a.href = canvas.toDataURL('image/jpeg', 2);
  a.download = name;
  a.click();
}

for (let i = 0; i < canvasList.length; i++) {
  const canvasItem = canvasList[i]
  const {ariaLabel, canvasDom} = canvasItem || {}
  // width: 582px; height: 816px;
  // const ctx = canvasDom.getContext('2d');
  // const ratio = getPixelRatio(ctx);
  canvasDom.style.scale = 10
  // canvasDom.width = '5820px';
  // canvasDom.height = '8160px';
  // ctx.drawImage(image, 20* ratio, 20* ratio, 260* ratio, 460* ratioÏ);
  // const base64 = cvs.toDataURL("image/png", 2.0);
  // console.log({ariaLabel, canvasDom})
  // ((cDom, label) => {
    downLoadImage(canvasDom, ariaLabel)
  // })(canvasDom, ariaLabel)
}

方法二:直接取文件源码处理

http://biaozhun.osta.org.cn/index.html