百度文库(wenku)在线下载PDF格式文件

百度文库文档页面打印PDF,chrome浏览器最好能安装一下 adblock 插件,下载后的pdf文件可以在 https://pdf2docx.com/zh/ 上转换成docx

百度文库(wenku)在线下载PDF格式文件 was deleted due to: Report #11968.

Appeal submitted by the author:

// ==UserScript==
// @name         百度文库(wenku)在线下载PDF格式文件
// @namespace    http://ekozhan.com
// @version      0.1.8
// @description  百度文库文档页面打印PDF,chrome浏览器最好能安装一下 adblock 插件,下载后的pdf文件可以在 https://pdf2docx.com/zh/ 上转换成docx
// @author       eko.zhan, HelloCodeMing
// @match        *://wenku.baidu.com/view/*
// @grant        unsafeWindow
// @license      GPL-2.0
// @icon         https://www.baidu.com/cache/icon/favicon.ico
// ==/UserScript==

;(function() {
  'use strict'
  //等待3秒页面加载完毕后再单击阅读更多按钮
  window.setTimeout(function() {
    insert()
  }, 300)

  //insert print btn
  function insert() {
    if ($('#btnPrintStyle').length == 0) {
      $('head').append(
        [
          '<style id="btnPrintStyle">',
          '.ez-btn{position:relative;border:1px solid #19A97B;border-radius: 3px;background: transparent;color:#19A97B;margin-left:10px;font-size: 14px;}',
          '.ez-btn:hover{border: 1px solid #0F6649;color:#0F6649;}',
          '.ez-btn[title]:hover:after {content: attr(_title);position: absolute;top: -4px;left: 105%;min-width: 100px;max-width: 300px; padding: 4px 10px;background: #000000;color: #ffffff;border-radius: 4px;text-align:left;z-index:2018;}',
          '.ez-panel{z-index:2018;display:none;position: absolute;width: 300px;font-size:14px;background: #ffffff;color: #19A97B;  border-radius: 4px;  border: 1px solid #19A97B;  padding: 6px;  margin: 2px;}',
          '#doc-header-test .doc-value{margin-right: 10px !important;padding-right: 10px;}',
          '</style>'
        ].join(' ')
      )
    }
    $('.qrHover').append('<button class="ez-btn">免费下载</button>')
    $('body').append(
      [
        '<div class="ez-panel">',
        '常见问题:<br/>',
        '1、<a href="https://greasyfork.org/zh-CN/forum/discussion/46222/x" target="_blank">点击免费下载后,如何打印成pdf文件?</a>',
        '<br/>2、<a href="https://greasyfork.org/zh-CN/forum/discussion/44509/x" target="_blank">文字重叠重影该如何解决?</a>',
        '<br/>3、<a href="https://greasyfork.org/zh-CN/forum/discussion/47744/x" target="_blank">图片空白,或者图片只有一半的情况如何处理?</a>',
        '<br/>4、<a href="https://greasyfork.org/zh-CN/forum/discussion/46249/x" target="_blank">页数超过100页的文档该如何打印成pdf?</a>',
        '<br/>5、<a href="https://greasyfork.org/zh-CN/forum/discussion/47743/x" target="_blank">打印出来的pdf文件里文字断裂,或者图片表格上下页分开如何处理?</a>',
        '<div>'
      ].join('')
    )
    var t = null
    $('.ez-btn').hover(
      function() {
        $('.ez-panel')
          .css({
            top: $('.ez-btn').offset().top + 'px',
            left: $('.ez-btn').offset().left + 70 + 'px'
          })
          .show()
      },
      function() {
        if (t) window.clearTimeout(t)
        t = window.setTimeout(function() {
          $('.ez-panel').hide()
        }, 10 * 1000)
      }
    )
    $('.ez-btn').click(function() {
      prePrint()
    })
    $('body').mousedown(function(e) {
      if (e.button == 2) {
        imgHandle()
      }
      return true
    })
  }
  //main function
  function prePrint() {
    $('.ez-panel').remove()
    // add by eko.zhan at 2019-12-14 17:35
    $('head')
      .find('link')
      .each((index, item) => {
        if (
          $(item)
            .attr('href')
            .indexOf('/common_toc/common/style/main') != -1
        ) {
          $(item).remove()
        }
      })
    $('.moreBtn').click()
    $('.aside').remove()
    $('#doc #hd').remove()
    $('.crubms-wrap').remove()
    $('.user-bar').remove()
    $('#doc-header').remove()
    $('.reader-tools-bar-wrap').remove()
    $('.fix-searchbar-wrap').remove()
    $('#bottom-doc-list-8').remove()
    $('.ft').remove()
    $('#ft').remove()
    $('#docBubble').remove()
    $('.hd').remove()
    $('.wk-other-new-cntent').remove()
    $('#html-reader-go-more').remove()
    $('.new-wm').remove()
    $('#bottom-download').remove()
    $('#pay-page').remove()
    $('.banner-wrap').remove()
    $('#next_doc_box').remove()
    $('.high-quality-doc').remove()
    $('.new-ico-wkmember-free-doc').remove()
    $('.doc-tag-pay-normal').remove()
    $('.doc-tag-professional').remove()
    $('.doc-tag-pay-discount').remove()
    $('.doc-tag-ticket').remove()
    $('#activity-tg').remove()
    $('body').attr('margin', 'auto')
    $('.bd').attr('style', 'height:1262.879px')
    $('.reader-page').css({ border: 0 })
    $('.doc_bottom_wrap').remove()
    jQuery.fn.extend({
      remove: function() {
        return false
      }
    })
    var _h = document.body.scrollHeight,
      _tmp = 0
    var _t = window.setInterval(function() {
      $(window).scrollTop(_tmp)
      _tmp = _tmp + 700
      _h = document.body.scrollHeight
      if (_tmp > _h) {
        window.clearInterval(_t)
        doPrint()
      }
    }, 300)
  }

  /**
   * 图片处理,将 div background img 处理成 img 标签,利用 img clip:rect style 来处理图片
   * 暂时未找到 img clip:rect 的规律
   * //FIXME
   */
  function imgHandle() {
    $('div.reader-pic-item').each(function(i, item) {
      var _style = $(item)[0].style
      var _imgUrl = _style.backgroundImage.substring(
        5,
        _style.backgroundImage.length - 2
      )

      var imgPanel = '<img src="' + _imgUrl + '"/>'
      $(item)[0].style.backgroundImage = null

      var p = document.createElement('p')
      $($(item)[0].attributes).each(function(i, attr) {
        $(p).attr(attr.nodeName, attr.nodeValue)
      })
      $(p).append(imgPanel)
      $(item)
        .parent()
        .html(p)
    })
  }

  /**
   * 调用浏览器打印
   */
  function doPrint() {
    imgHandle()
    window.setTimeout(function() {
      window.print()
    }, 3000)
  }
})()

As a result of this appeal, a moderator undeleted this script.