首页 > 其他分享 >【方法】国标和密评标准的PDF下载

【方法】国标和密评标准的PDF下载

时间:2024-07-05 17:53:57浏览次数:16  
标签:function canvas 国标 密评 split css var PDF append

国标

方法1:国家标准全文公开

网址:https://openstd.samr.gov.cn/bzgk/gb/ind
查询的标准如果不能预览,参照方法2;如果可以预览,进入预览页面,按Ctrl+Shift+I调出控制台,进入控制台,输入如下代码,执行后,点击获取页面,点击下载PDF即可得到PDF页面。

$("head").append('<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>');
     let my_script=`<script>
     function px2Num(px) {
         return Number(px.split("px")[0].toString());
     }
     function getPages(){
         if( $("canvas[id^=canvas_]").length > 0 ) {
             $("canvas[id^=canvas_]").delete();
         }
         var baseurl = "http://c.gb688.cn/bzgk/gb/";
         var pagecount = $("div.page").length;
         var pages = new Array(pagecount);
         var pagebg = new Array(pagecount);
         var title = $("title").text().split("|")[1].toString().trim();
         var pheight = $("#0").css("height");
         var pwidth = $("#0").css("width");
         $(".page").each(function(i, elem) {
             if (elem.hasAttribute("bg")) {
                 pagebg[i] = elem.getAttribute("bg");
             } else {
                 pagebg[i] = $(elem).children("span").first().css("background-image").split('"')[
                     1].split(/\\//).slice(-1)[0];
             }
         });
         //拼合图片
         $(".page").each(function(i, elem) {
             var canvasclone = $("canvas#canvas").clone();
             canvasclone.attr("id","canvas_"+i).css("background-color","#FFFFFFFF");
             $("#newimg").append(canvasclone);
             var canvas = document.getElementById('canvas_'+i);
             var ctx = canvas.getContext('2d');
             ctx.fillStyle="white";
             ctx.fillRect(0,0,px2Num(pwidth), px2Num(pheight));
             $("#imgContainer").append("<img id=img_" + i + " src='" + baseurl+pagebg[i] + "' />")
             var image = document.getElementById('img_'+i);
             image.addEventListener('load', e => {
                 $(elem).children("span").each(function(j,s){
                      ctx.drawImage(image, -px2Num($(s).css("background-position-x")), -px2Num($(s).css("background-position-y")),  119, 168,
                      $(s).attr("class").split('-')[1]*119, $(s).attr("class").split('-')[2]*168, 119, 168);
                 });
             });
         });
     }
     function isimgComplete(imgs){
         //$("img[id^=img_]")
         flag = true;
         for(i=0;i<imgs.length;i++){
             flag=flag && imgs[i].complete;
         }
         return flag;
     }
     function downloadPDF(){
         if( $("canvas[id^=canvas_]").length == 0 ) {
             alert("请先点击获取页面!");
             return;
         }
         var images = $("img[id^=img_]");
         //alert(isimgComplete(images));
         if(!isimgComplete(images)){
             alert("页面尚未提取完,稍等");
             return;
         }
         var pheight = $("#0").css("height");
         var pwidth = $("#0").css("width");
         const { jsPDF } = window.jspdf;
         const pdf = new jsPDF('p','px',[px2Num(pwidth), px2Num(pheight)]);
         var title = $("title").text().split("|")[1].toString().trim();
         let [imgX, imgY] = [595.28, 841.89];
         let imgHeight = imgX / (px2Num(pwidth) / px2Num(pheight));
         $("canvas[id^=canvas_]").each(function(i,e){
             pdf.addImage(document.getElementById('canvas_'+i).toDataURL('image/jpeg'), 'jpeg', 0, 0, px2Num(pwidth), px2Num(pheight), '', 'MEDDIUM');
             //pdf.addImage(document.getElementById('canvas_'+i).toDataURL('image/png'), 'jpeg', 0, 0, imgX, imgHeight, '', 'SLOW');
             pdf.addPage();
         });
         let targetPage = pdf.internal.getNumberOfPages();
         pdf.deletePage(targetPage); // 删除最后一页
         pdf.save(title + ".pdf");
     }
      function downloadPDF0(){
         while($("canvas[id^=canvas_]").length < $(".page").length){
             setTimeout(function(){
             },1000);
         }
      }
 </script>`;
 
 let source_img = `
     <div id="canvas_container">
     <input type="button" value="获取页面" onclick="getPages()"/>
     <input type="button" value="下载pdf" onclick="downloadPDF()"/>
     </div>
     <div id="imgContainer" style="display:none;"><img id="source" src=""></div>
     <div id="newimg" width="1190px"></div>
     <canvas id="canvas" width="1190px" height="1680px" style="display:none;"></canvas>`;
 
 let style = `
     <style>
         #canvas_container {
         position: fixed;
         height: 30px;
         width: 150px;
         top: 50px;
         left: 10px;
         border: 1px;
         /*background-color: #00ff0099;*/
         border-radius: 3px;
         }
     </style>
 `;
 
 $("head").append(style);
 $("body").append(source_img);
 $("body").append(my_script);

方法2 标准网

网址:https://www.biaozhun.org/
每个账户每天能免费下2个,适用于在方法1中无法预览的情况。

密评标准

网址:http://www.gmbz.org.cn/main/bzlb.html
密评标准委员会的页面,打开之后找到自己要的标准页面,进入预览,在预览页面按F12元素搜pdf或者src找到文件来源
image
复制元素,粘贴到记事本,把/file=/.../XX.pdf这部分和http://www.gmbz.org.cn拼接,比如刚才的文件拼接完就是https://www.gmbz.org.cn/file/2018-01-17/74efb470-4bc5-4714-b5f6-655bf00fc702.pdf,然后访问该链接即可下载PDF文件。

标签:function,canvas,国标,密评,split,css,var,PDF,append
From: https://www.cnblogs.com/Eudonomia/p/18286297

相关文章

  • pdf如何免费转换为jpg图片?
    随着社会经济的飞速发展,随着工作节奏的加快,越来越多的上班族把图片作为临时储存材料的工具。由于图片保存方式即使快捷也简单,而且保存周期长,不会出现故障或丢失的情况,无论是上传还是浏览图片都比较方便。那么pdf怎么免费转换为图片呢?下面就教大家pdf转图片的方法。方法一、使用在......
  • 外挂级OCR神器:免费文档解析、表格识别、手写识别、古籍识别、PDF转Word
    TextInTools是一款免费的在线OCR工具,支持快速准确的文字和表格识别,手写、古籍识别,提供PDF转Markdown大模型辅助工具,同时支持PDF、WORD、EXCEL、JPG、PPT等各类格式文件的转化。TextInTools特点免费:所有产品提供每日200页免费额度,覆盖日常使用需求。方便:无需下载安装,PC端......
  • 如何将pdf转成html?PDF转HTML网页的3个方法
    怎么把pdf转化成html?我们在查看一些文件的时候会遇到查看失败或是无法打开的情况,发送的时候也可能会出现这样或那样的问题,其实我们可以将PDF文件转换成HTML格式,在该格式下文件打开和加载的速度很快,而且能不受到软件的制约,直接在网页上就能查看,与此同时还能方便文件的共享访问,只需......
  • 【针对unstructured的pdf提取的hi_res策略不能够连接huggingface.co下载模型的问题而
    unstructuredpdfhi_res策略本地推理部署说明unstructuredpdf的hi_res策略如果选用detectron2时有些问题需要关注,detectron2自从2021年到现在很久没有更新。使用如新的python3.12及最新的torch2.3.1去编译源码安装会报错torch找不到的问题导致源码编译安装失败。根据要......
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线打开 word文件并另存HTML或
    国产linux系统(银河麒麟,统信uos)使用PageOffice国产版在线打开pdf文件PageOffice国产版:支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)芯片架构。查看本示例演示效果本示例关键代码的编写位置Vue+Springboot注意本文中展示的......
  • 【专题】2024年6月数字化行业报告合集汇总PDF分享(附原数据表)
    原文链接:https://tecdat.cn/?p=36658原文出处:拓端数据部落公众号随着科技的飞速发展和全球数字化进程的加速推进,我们正处在一个充满变革与机遇的时代。从人工智能的深入应用到工业互联网的蓬勃发展,从智慧医疗的兴起到新能源汽车的普及,每一个领域都在经历着前所未有的转型与升级......
  • PyPDF2拆分PDF文件的高级应用:指定拆分方式
    本文目录前言一、拆分方式选择1、代码讲解2、实现效果图3、完整代码前言前两篇文章,分别讲解了将使用PyPDF2将PDF文档分割成为单个页面、在分割PDF文档时指定只分割出指定页面,如果你还没有看过,然后有需要的话,可以去看一下,我把文章链接贴到这里:PyPDF2拆分P......
  • 有哪些方法可以将pdf转换成ppt ?
    众所周知,PPT文件是一种用于演示的文件,有时候为了帮助演示,我们还会打开一些其它的文件,比如PDF文件。在把pdf转ppt简单方法的过程中,不必反复打开其它文件。许多人都不知道怎么免费把pdf转换成ppt的方法,今天小编就借着这个转换方法给大家分享一下。PDF转PPT的两种快速方法,大家可以选......
  • Spark大数据处理:技术、应用与性能优化(全)PDF书籍推荐分享
    本书从一个系统化的视角,秉承大道至简的主导思想,介绍Spark中最值得关注的内容,讲解Spark部署、开发实战,并结合Spark的运行机制及拓展,帮读者开启Spark技术之旅。Spark大数据处理:技术、应用与性能优化(全)PDF下载Spark已经在全球范围内广泛使用,无论是Intel、Yahoo!、Twitter、阿里......
  • 从PDF到OFD,国产化浪潮下多种文档格式导出的完美解决方案
    最新技术资源(建议收藏)https://www.grapecity.com.cn/resources/前言近年来,中国在信息技术领域持续追求自主创新和供应链安全,伴随信创上升为国家战略,一些行业也开始明确要求文件导出的格式必须为OFD格式。OFD格式目前在政府、金融、税务、教育、医疗等需要文件开放、......