Greasy Fork

Greasy Fork is available in English.

专利通知书下载器

用来下载专利局中国及多国专利审查信息查询系统的通知书

当前为 2024-03-07 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         专利通知书下载器
// @namespace    http://patenthomes.com
// @version      0.5
// @icon         data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKQ2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDEgNzkuYThkNDc1MywgMjAyMy8wMy8yMy0wODo1NjozNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wOk1vZGlmeURhdGU9IjIwMjQtMDItMjdUMTM6MTc6MzcrMDg6MDAiIHhtcDpDcmVhdGVEYXRlPSIyMDI0LTAyLTI3VDEzOjEzOjEwKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI0LTAyLTI3VDEzOjE3OjM3KzA4OjAwIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ZWZmM2QyNWEtZjk0MC04MjQxLTgyZjktM2EwMmE5OWQ4NzJiIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBmYTkwYTFmLTYxNGQtMGM0ZC1iYjI1LWE2MjdiYzZkYjVjMyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJDQjhEMkZDMEI0M0E5QjUwMjM3MzM4MDE5QzQxNEQ5MiIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHRpZmY6SW1hZ2VXaWR0aD0iNTEyIiB0aWZmOkltYWdlTGVuZ3RoPSI1MTIiIHRpZmY6UGhvdG9tZXRyaWNJbnRlcnByZXRhdGlvbj0iMiIgdGlmZjpPcmllbnRhdGlvbj0iMSIgdGlmZjpTYW1wbGVzUGVyUGl4ZWw9IjMiIHRpZmY6WFJlc29sdXRpb249IjcyLzEiIHRpZmY6WVJlc29sdXRpb249IjcyLzEiIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiIGV4aWY6RXhpZlZlcnNpb249IjAyMzEiIGV4aWY6Q29sb3JTcGFjZT0iNjU1MzUiIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSI1MTIiIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSI1MTIiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozMmE4NzMzYy1kMjk3LTE2NDctOWRiMC03MjcwNjQ3ZTI1YTciIHN0RXZ0OndoZW49IjIwMjQtMDItMjdUMTM6MTU6MTQrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNC43IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY29udmVydGVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJmcm9tIGltYWdlL2pwZWcgdG8gaW1hZ2UvcG5nIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJkZXJpdmVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJjb252ZXJ0ZWQgZnJvbSBpbWFnZS9qcGVnIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NjRjNDQzYTUtNzUxMy0yMjRiLWJlY2YtMzE1ZmY3OTRkZmRkIiBzdEV2dDp3aGVuPSIyMDI0LTAyLTI3VDEzOjE1OjE0KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjQuNyAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjBmYTkwYTFmLTYxNGQtMGM0ZC1iYjI1LWE2MjdiYzZkYjVjMyIgc3RFdnQ6d2hlbj0iMjAyNC0wMi0yN1QxMzoxNzozNyswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI0LjcgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozMmE4NzMzYy1kMjk3LTE2NDctOWRiMC03MjcwNjQ3ZTI1YTciIHN0UmVmOmRvY3VtZW50SUQ9IkNCOEQyRkMwQjQzQTlCNTAyMzczMzgwMTlDNDE0RDkyIiBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9IkNCOEQyRkMwQjQzQTlCNTAyMzczMzgwMTlDNDE0RDkyIi8+IDx0aWZmOkJpdHNQZXJTYW1wbGU+IDxyZGY6U2VxPiA8cmRmOmxpPjg8L3JkZjpsaT4gPHJkZjpsaT44PC9yZGY6bGk+IDxyZGY6bGk+ODwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvdGlmZjpCaXRzUGVyU2FtcGxlPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgWJ0cwAAAS2SURBVDiNjZVpbFVFFMf/M3fue+8uj/a92xZaai1USqVKAKNEFpF+UARCkFUJQsImiRiFIEQlBBojJEoggoQlIGiICjTEVLYgAWQLBDAitdAIpfR1o7ylfftdZvzQ0ipbOF9mJpPzyzn/c+YMiVWOw9OZsCUARLYhyMO39LFugnQ5CEGEI+kF9Xp+gFsy8HQgwSkE0Y2gpsW5zQAQQXQjeODYm7+cKtN9YfBHeJGHUxM2041Qc1uGJluSQ520W+/Z3BzN6DvuoFu264+M0akdD/mJ5DwpIsGpmtt0LZA/fN7OJd8uUvMaCUA86ZawL+VIls2slJsw62GZHgRRwqk3evz8q7dasuuae4FAYjYSap/sVoXZJYW1fn/YjPiobApOngRyHAmWbPjDAOa/fQCAlXbDkwqEfZYjjRjyB5jpyoyofWt1I+RYsrgfWjdIcEohvEYILvNKVSmA4twGpGVQDtn6q6a/LUhxSTUGXj17ceiy8lXn/hyk+EOUiA531rFwR2KypRjBaKyH14hIIACiCRVUUMpBRFvQD8BNUbnnvelL1yVtKRbXh5UdF0nFsmQQ0QlisqXkNn2/f+qn2xZOfP1EtN0LoDHiQ4cWgqhqEsDqbz5sDvls4OXnr5cv+cppyjNNF6G8MyIhiJLdWlNbNPvLzwBs3j8ZACMiJ6MdDhMgADwuE0Ag5AMwpezEupXlWVoseqeAuMxujQgg0p6szHD/gnoAr5TUFD8T4CC5GW2IazKz0KspbDMAmie1a9XqfdvnFngS0bpnqcvsqhwFACISQb/fuLd5+dpJr509s3/S2Jcuc4FEXIOaUAb8fbRi2oadcymwfMH22R+t5zeL2ht6g3JhMyEIiOiumqA8eruwrPRaxaaFsjvZGPQDaGM2Xqj65PM1W/ZNfXdKBQGYI6EhPxr2a952b3GNXnRTdaf5f8UmRAiCRFuG6k7BkZhsAwAns2fuqaseUHly5Pm97zjAP3UFsJg3u/lS1cBDFdNyfeEZI393azEzqbKuJiKcqD3vwggju7WHJwVg4qJNg4pqD++epRB+51YfAIqWgCBUTZpqcu3WBWmgoSWn/OP11u1CCgCCUAG98Pa5q4PmLd7w044Fv10ZDKC4383DP09VTAl1fXRfBMC9uznICvKQMWL08UPfzQFwsboUVJCO1ASg5rQGWnpNWPp1MKbtODgWQL4ROrxxkcJFpL4gs7jmxf43AFSeGX7y6Fsjhp0mXEokFABzxlfCoY7NWIdApEf01x9nBGMaIAAya0LlinnbDb09ces5psVTzT1LS6onjzpdcWrk6PlbRw29YNnyuctD3p90YNr4SrMxjzCb3u8l3hT1dui+fNYPu7fN75cXiAXyhWwTIsy0x7nn37lm2cw3jjGKUxeGXroyePH0vVu+WOG06+m0mxDROdjcSjIc9+46MiZpySs/2GgFjWTYJynJzrlDBDddXiOIzMiNqtJ4OCszr6Fvv+tOY+94TJdcJgTpBHFL9ma0IbsVnFpNuemUh8gPTi9hM48WZz3awBxYshnJMFMKYfb/Xj+VrVhckxIqAC4IYY/4Kgiz0ylPKuXpPAJdlG5Qh+S8cyfwOCOP+okAAP8C0UYibgjuGLEAAAAASUVORK5CYII=
// @description  用来下载专利局中国及多国专利审查信息查询系统的通知书
// @author       北溟之鲲
// @match        *://*.cponline.cnipa.gov.cn/*
// @grant        none
// @require https://cdn.staticfile.org/jspdf/2.5.1/jspdf.umd.min.js
// @license      MIT
// ==/UserScript==


//恢复PDF格式通知书下载按钮
(function() {
    'use strict';

    // Define the CSS selector for the elements you want to modify
    const targetSelector = '#download,#presentationMode,#viewFind,#print,#viewBookmark,#secondaryToolbarToggle,#openFile'; // Replace with your actual selector

    // Get all matching elements
    const elements = document.querySelectorAll(targetSelector);

    // Loop through each element and change its display property
    elements.forEach(element => {
        element.style.display = 'block';
    });
})();


//下载图片格式通知书并合并成PDF
(function() {
  'use strict';

  async function imagesToPDF(srcList, filename1, filename2) {
  const pdf = new jspdf.jsPDF({ unit: 'px' });
     for (let i = 0; i < srcList.length; i++) {
      const imgSrc = srcList[i].src;
      try {
        const img = new Image();
        img.src =imgSrc;
        const pageWidth = pdf.internal.pageSize.getWidth();
        const pageHeight = pdf.internal.pageSize.getHeight();
        const imgAspectRatio = img.width / img.height;
        let imgWidth = pageWidth;
        let imgHeight = pageWidth / imgAspectRatio;
        pdf.addImage(img, 'PNG', 0, 0, imgWidth, imgHeight);
        if (i < srcList.length - 1) {
          pdf.addPage();
        }
      } catch (error) {
        console.error(`图片加载失败:${imgSrc}`, error);
      }
    }
    pdf.save(`${filename1}-${filename2}.pdf`);
  }

  // Check if the current window is the top-level window (not inside an iframe)
  if (window === window.top) {
    // Create a download button
    const downloadButton = document.createElement('button');
    downloadButton.textContent = '下载通知书';
    downloadButton.style.position = 'fixed';
    downloadButton.style.top = '80px';
    downloadButton.style.right = '20px';
//    downloadButton.style.transform = 'translateY(-50%)';
    downloadButton.style.zIndex = '10000';
//    downloadButton.style.backgroundColor = '#4CAF50';
//    downloadButton.style.border = 'none';
//    downloadButton.style.borderRadius = '5px';
//    downloadButton.style.color = 'white';
//    downloadButton.style.fontSize = '16px';
//    downloadButton.style.padding = '2px 2px';
    downloadButton.style.cursor = 'pointer';
    document.body.appendChild(downloadButton);

    // Event listener for the download button
      downloadButton.addEventListener('click', async () => {
      // Find all PNG images on the page
      const pngImages = document.querySelectorAll('#q-app > div > div > div.q-page-container > main > div > div.content > div.row.boxRow > div.table > div > div:nth-child(2) > div:nth-child(2) > div > div > div > img');
     const filename1 = document.querySelector('#q-app > div > div > div.q-page-container > main > div > div.content > div.hm > strong').textContent.match(/\d+/).join('');
     const filename2 = document.querySelector('#q-app > div > div > div.q-page-container > main > div > div.content > div.row.boxRow > div.table > div > div:nth-child(1) > p').textContent.replace(/-/g, '').match(/[\u4e00-\u9fa5-zA-Z]+/g).join('');
       imagesToPDF(pngImages, filename1, filename2);

  });
  }
})();