吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8975|回复: 105
收起左侧

[其他原创] 保存道客巴巴文档 油猴脚本,自己写的

    [复制链接]
笨笨家的唯一 发表于 2022-11-25 15:26
本帖最后由 笨笨家的唯一 于 2024-1-17 15:20 编辑

经常要下道客巴巴的文档,每次都要操作一番,嫌麻烦,就搞了一个这个
才学js,写的不对的还请大佬指正
先预览全部文档,然后点【保存文档】,会调用打印框,选择【保存pdf】即可
直接新建一个油猴脚本,然后复制进去就可以啦!
[JavaScript] 纯文本查看 复制代码
// ==UserScript==
// @name         保存doc88文档
// @namespace    http://tampermonkey.net/
// [url=home.php?mod=space&uid=1248337]@version[/url]      0.2
// @description  可以以PDF形式保存道客巴巴文档,还可以提取文档文字,先等加载完再点击,否则下不全!
// @author       You
// @match        *://www.doc88.com/*
// [url=home.php?mod=space&uid=609072]@grant[/url]        none
// ==/UserScript==

(function() {
    'use strict';
    let styleStr = '#save {display:flex;background-color:#1676FF;color:#fff;font-size:16px;position:fixed;left:4vw;top:5vh;border:none;outLine:none;z-index:10086;} #save div{padding:5px;cursor: pointer;} #save div:hover{background-color:#F6A04D}';
   let styleEle =  document.querySelector('style')
    styleEle.innerHTML += styleStr;
    document.body.appendChild(styleEle);
    let box = document.createElement('div');
    box.id = 'save'
    let saveBtn = document.createElement('div');
    saveBtn.innerHTML = '保存';
    box.appendChild(saveBtn);
    let textBtn = document.createElement('div');
    textBtn.innerHTML = ' 提取';
    box.appendChild(textBtn);
    document.body.appendChild(box);
    saveBtn.addEventListener('click',()=>{
        alert('确定每一页都加载完了哦,不然下载的不全')
       let divs = document.querySelectorAll('div');
       let ppts = document.querySelector('#pageContainer');
       let pptCanvas = ppts.querySelectorAll('.inner_page');
       divs.forEach(div=>{
          div.style.display = 'none';
       })
       let newDiv = document.createElement('div');
       pptCanvas.forEach(canvas=>{
          newDiv.appendChild(canvas);
        })
      document.body.appendChild(newDiv);
       window.print();
    })
     textBtn.addEventListener('click',()=>{
        let textStr = '';
        let strArr = window.Core.api._01;
        strArr.forEach(str=>{
           textStr += str;
        })
        const textarea = document.createElement('textarea');
            textarea.value = textStr;
            document.body.appendChild(textarea);
            textarea.select();
            if (document.execCommand('copy')) {
                    document.execCommand('copy');
            }
            document.body.removeChild(textarea);
        alert("已将全部文字复制到剪切板,随便去哪粘贴吧");
     })
})();


补充说明一下,使用该脚本需要先安装【油猴】(Tampermonkey)插件,具体的操作步骤每款浏览器各不相同,大家自己百度一下。
安装好插件之后,点击【添加新脚本】,把上面的代码复制进去,就可以了
如果脚本无法运行,可能是浏览器兼容问题,能力有限解决不了。建议换谷歌浏览器吧
--------------------------------------------------------------------------------------------------
这里更新一下,最近老是在某巴巴下文档,下载的pdf没法复制文字,所以稍微研究了一下,然后添加了一个提取文档文字的功能。
注意,这个只能提取文字,就是你在某个文档页面,拖鼠标能够选中的文字,复制到剪切板的文字是你所有所加载的页面中可以被选中的文字。如果是图片就没法了。

免费评分

参与人数 17吾爱币 +16 热心值 +17 收起 理由
铁柱大哥 + 1 + 1 谢谢@Thanks!
wy981535257 + 1 谢谢@Thanks!
zpzwz + 1 + 1 谢谢@Thanks!
悠闲 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
pc27149 + 1 + 1 谢谢@Thanks!
z137002 + 1 + 1 谢谢@Thanks!
baby528 + 1 + 1 谢谢@Thanks!
白堕 + 1 + 1 谢谢@Thanks!
nmbtmyr + 1 + 1 我很赞同!
283453351 + 1 + 1 有用!
wazydfx + 1 + 1 谢谢@Thanks!
zhywendy + 1 + 1 谢谢@Thanks!
huanganzxc + 1 + 1 我很赞同!
JoyBot + 1 + 1 厉害
guajun + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
lcylcylcy + 1 + 1 谢谢@Thanks!
zhoushengzhi + 1 + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

CRSer 发表于 2022-11-28 09:53
非常牛逼,亲测可用,方法如下

1.新建一个油猴脚本(没有的需先在浏览器安装),然后全选复制下面代码,覆盖脚本原本的模板(代码整合楼主和二楼)
2.先预览全部文档,然后点左侧蓝色【点击保存】,会调用打印框,在目标打印机选项栏,选择【保存pdf】即可
提醒:一定要等全部预览加载完再下载,不然有空白页!!!

[JavaScript] 纯文本查看 复制代码
// ==UserScript==
// [url=home.php?mod=space&uid=170990]@name[/url]        保存道客巴巴文档
// [url=home.php?mod=space&uid=467642]@namespace[/url]    http://tampermonkey.net/
// [url=home.php?mod=space&uid=1248337]@version[/url]      0.1
// @description  保存道客巴巴文档
// [url=home.php?mod=space&uid=686208]@AuThor[/url]       You
// [url=home.php?mod=space&uid=195849]@match[/url]        *://*.doc88.com/*
// [url=home.php?mod=space&uid=593100]@Icon[/url]         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// [url=home.php?mod=space&uid=609072]@grant[/url]        none
// ==/UserScript==


(function() {
 
    'use strict';
 
    let styleStr = '#savePDF {display:block;padding:10px;background-color:#1676FF;color:#fff;font-size:18px;position:fixed;left:100px;top:100px;border:none;outLine:none}';
 
    let styleEle = document.createElement('style');
 
    styleEle.innerHTML=styleStr;
 
    document.body.appendChild(styleEle);
 
    let btn = document.createElement('div');
 
    btn.id='savePDF';
 
    btn.innerHTML = '点击保存';
 
    document.body.appendChild(btn);
 
    btn.addEventListener('click',()=>{
 
        alert('确定每一页都加载完了哦,不然下载的不全')
 
       let divs = document.querySelectorAll('div');
 
       let ppts = document.querySelector('#pageContainer');
 
       let pptCanvas = ppts.querySelectorAll('.inner_page');
 
       divs.forEach(div=>{
 
          div.style.display = 'none';
 
       })
 
       let newDiv = document.createElement('div');
 
       pptCanvas.forEach(canvas=>{
 
          newDiv.appendChild(canvas);
 
        })
 
      document.body.appendChild(newDiv);
 
       window.print();
 
    })
 
})();
dxaw2458 发表于 2022-11-26 21:28
// ==UserScript==
// @name        保存道客巴巴文档
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  保存道客巴巴文档
// @AuThor       You
// @match        *://*.doc88.com/*
// @Icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// ==/UserScript==

//下面加代码
tiger2008 发表于 2022-11-30 18:35
本帖最后由 tiger2008 于 2022-11-30 18:38 编辑

楼主的代码没问题。不行用下面这个。记得感谢楼主!
下附件还要扣积分吗,设置不好,直接贴下面了。记得感谢楼主!

从下面第一行开始:
// ==UserScript==
// @name        保存道客巴巴文档
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  保存道客巴巴文档
// @author       You
// @match       *://www.doc88.com/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// ==/UserScript==
(function () {
    'use strict';

    let styleStr = '#savePDF {display:block;padding:10px;background-color:#1676FF;color:#fff;font-size:18px;position:fixed;left:100px;top:100px;border:none;outLine:none}';

    let styleEle = document.createElement('style');

    styleEle.innerHTML=styleStr;

    document.body.appendChild(styleEle);

    let btn = document.createElement('div');

    btn.id='savePDF';

    btn.innerHTML = '点击保存';

    document.body.appendChild(btn);

    btn.addEventListener('click',()=>{

        alert('确定每一页都加载完了哦,不然下载的不全')

       let divs = document.querySelectorAll('div');

       let ppts = document.querySelector('#pageContainer');

       let pptCanvas = ppts.querySelectorAll('.inner_page');

       divs.forEach(div=>{

          div.style.display = 'none';

       })

       let newDiv = document.createElement('div');

       pptCanvas.forEach(canvas=>{

          newDiv.appendChild(canvas);

        })

      document.body.appendChild(newDiv);

       window.print();

    })

})();
到上面一行结束

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
北人无择 + 1 + 1 谢谢@Thanks!

查看全部评分

木玉成约 发表于 2022-11-29 17:12
这是啥情况呀
微信截图_20221129171201.png
 楼主| 笨笨家的唯一 发表于 2024-6-3 15:14
sxh705 发表于 2024-6-1 11:33
不知道为什么我这边不能用,改了一个能用的版本。
[mw_shl_code=javascript,true]
// ==UserScript==

一般情况下,提取文字不能用了是因为它的api改了一下:就是这个【strArr = window.Core.api._01;】,而我技术不到家,没学好怎么从网络获取api,所以提取文字的会用不了。但是打印文档应该没问题
qiuyu2019 发表于 2022-11-25 18:39
真厉害,支持楼主
xu2409457400 发表于 2022-11-25 18:56
多谢大佬的无私分享啊
tiger2008 发表于 2022-11-25 19:12
点击保存后无反应
tiger2008 发表于 2022-11-25 19:19
可以了,谢谢!
有时打印时多出来一张空白页(第一页)
TrueAndFalse 发表于 2022-11-25 19:30
感谢楼主分享,牛啊
lcylidong 发表于 2022-11-25 19:31
不错,分享一下了。
紫轩冰凌 发表于 2022-11-25 19:40
怎么 使用的
doyoudo莫 发表于 2022-11-25 19:55
不错啊,好东西,正式我需要的
guajun 发表于 2022-11-25 19:57
码住码住
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 11:59

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表