精华内容
下载资源
问答
  • 引用tcpdf生成pdf文件后,在pc浏览器可以预览,在手机浏览器就变成直接下载了,怎么可以在手机浏览器中预览
  • vue插件开发 使用pdf.js实现手机端在线预览pdf文档

    万次阅读 热门讨论 2018-03-13 00:44:01
    目前大多数PC浏览器支持在线预览pdf文件,但大多数手机浏览器还未支持,尝试用手机浏览器打开一个pdf文件会弹出是否下载的提示框。网上查了一些资料,在实现的过程中,还是走了比较多的弯路,最后采用了倍受推荐的...

            目前大多数PC浏览器支持在线预览pdf文件,但大多数手机浏览器还未支持,尝试用手机浏览器打开一个pdf文件会弹出是否下载的提示框。网上查了一些资料,在实现的过程中,还是走了比较多的弯路,最后采用了倍受推荐的pdf.js插件来实现(文末附Demo)。

            pdf.js可以从github上clone下来,然后本地gulp生成可用的pdf.js和pdf.worker.js(参考readme即可)。github地址是:https://github.com/mozilla/pdf.js

          不过更简单的方法是使用cnpm来安装: cnpm isntall --save pdfjs-dist,然后可以在项目中使用了,我写成了插件的形式。具体使用示例:

    pdf.vue

    <template>
      <div id="container">
        <!-- <div class='pdf-page'> -->
          <canvas id="the-canvas"></canvas>
          <div class="foot" v-if='pdfDoc'>
            <button class='left' v-if="pageNum>1" @click="onPrevPage">上一页</button>
            <button class='right' v-if="pageNum<pdfDoc.numPages" @click="onNextPage">下一页</button>
          </div>
        <!-- </div> -->
      </div>
    </template>
    <script>
    import PDFJS from 'pdfjs-dist'
    
    export default {
      data () {
        return {
          pdfDoc: null,
          pageNum: 1,
          pageRendering: false,
          pageNumPending: null,
          scale: 0.9
        }
      },
      methods: {
        showPDF (url) {
          let _this = this
          PDFJS.getDocument(url).then(function (pdf) {
            _this.pdfDoc = pdf
            _this.renderPage(1)
          })
        },
        renderPage (num) {
          this.pageRendering = true
          let _this = this
          this.pdfDoc.getPage(num).then(function (page) {
            var viewport = page.getViewport(_this.scale)
            let canvas = document.getElementById('the-canvas')
            canvas.height = viewport.height
            canvas.width = viewport.width
    
            // Render PDF page into canvas context
            var renderContext = {
              canvasContext: canvas.getContext('2d'),
              viewport: viewport
            }
            var renderTask = page.render(renderContext)
    
            // Wait for rendering to finish
            renderTask.promise.then(function () {
              _this.pageRendering = false
              if (_this.pageNumPending !== null) {
                // New page rendering is pending
                this.renderPage(_this.pageNumPending)
                _this.pageNumPending = null
              }
            })
          })
        },
        queueRenderPage (num) {
          if (this.pageRendering) {
            this.pageNumPending = num
          } else {
            this.renderPage(num)
          }
        },
        onPrevPage () {
          if (this.pageNum <= 1) {
            return
          }
          this.pageNum--
          this.queueRenderPage(this.pageNum)
        },
        onNextPage () {
          if (this.pageNum >= this.pdfDoc.numPages) {
            return
          }
          this.pageNum++
          this.queueRenderPage(this.pageNum)
        }
      }
    }
    </script>
    
    <style scoped>
    #container {
      background-color: rgba(0,0,0,0.75);
      position:fixed;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      text-align: center;
      padding: 5px;
    }
    
    .pdf-page {
    
    }
    
    .foot {
      position: fixed;
      transform: translate(-50%,0);
      left: 50%;
    }
    </style>
    

    index.js:

    import PDF from './PDF'
    
    var $vm
    export default {
      install (Vue, options) {
        if (!$vm) {
          const PDFPlugin = Vue.extend(PDF)
          $vm = new PDFPlugin().$mount()
          document.body.appendChild($vm.$el)
        }
        Vue.prototype.$showPDF = function (url) {
          $vm.showPDF(url)
        }
      }
    }

    把两个文件放到同一文件夹pdf中形成一个插件,在main.js引入并use:

    import pdf from '@/components/pdf'
    Vue.use(pdf)

    这样,在需要显示pdf的地方调用vue的$showPDF方法即可。

    效果显示(手机浏览器验证显示正常):

            

    不过需要注意一点问题是:

            pdf.js不能处理跨域文件和本地文件,所以本地调试的时候应该请求服务器的文件,如果请求的是远程服务器,存在跨域,那就需要在config/index.js中配置一下代理:

        // ...
        proxyTable: {
          '/media': {
            target: 'https://xxxx.cn', // 换成正确的服务器域名
            changeOrigin: true,
            pathRewrite: {
              '^/media': '/media'
            }
          }
        }
        // ...

    然后在使用的地方填相对路径即可:

      // ...
      mounted () {
        this.$showPDF('/media/up/2018/3/9/494079c7ec333bd371798dd0a73c0a0b.pdf')
      }
      // ...

    ------------------------------

    2018.05.28更新

    对于有小伙伴提出的模糊性问题,在网上查找了一些资料后发现canvas显示模糊与设备像素比有关系,所以重写了一个Demo。优化了自适应屏幕大小显示、多页显示,解决了模糊性问题。附地址:https://github.com/Lushenggang/show-pdf

    -----------------------------

    2019.06.04更新

    写了一个改进版本,一次性加载改进为分页加载,地址:https://github.com/Lushenggang/pdf-preview

    展开全文
  • 目前大多数PC浏览器支持在线预览pdf文件,但大多数手机浏览器还未支持,尝试用手机浏览器打开一个pdf文件会弹出是否下载的提示框。网上查了一些资料,在实现的过程中,还是走了比较多的弯路,最后采用了备受推荐的...
  • 这里再分享下如何快速导出你的所有微博数据,然后用Python分析某个微博账号的数据,比如高赞,转发,评论微博,微博词云,微博发布时间轴,以及使用的手机。 稳部落 这是一个专业备份导出微博记录工具 ...

    这里再分享下如何快速导出你的所有微博数据,然后用Python分析某个微博账号的数据,比如高赞,转发,评论微博,微博词云,微博发布时间轴,以及使用的手机。

    稳部落

    这是一个专业备份导出微博记录工具 https://www.yaozeyuan.online/stablog/ ,备份原理是登录https://m.weibo.cn/ 后, 模拟浏览器访问, 获取登录用户发布的所有微博并备份,即使炸号的微博, 只要能登录 https://m.weibo.cn/ 后还能看见自己的微博就可以备份。

    这个工具使用说明见 https://github.com/YaoZeyuan/stablog ,支持Windows和Mac版。

    打开软件后登录自己的微博,这里也可以刷微博。

    打开系统设置可以看到总共微博条数2695,有269页,抓取时间要2个多小时。

    设置下排序规则,是否需要图片,PDF清晰度还有时间范围。

    支持增量备份, 备份过一次后, 可以只备份前10页内容, 加快备份速度可在【管理数据】标签页中浏览已备份的微博记录列表支持断点续传, 中途停止后, 可以记下备份的页码, 再次运行时修改【备份范围】配置项, 从该页之后再备份即可32位操作系统下, 当pdf体积超过2GB后, 会提示文件已损坏. => 解决方案是更换64位操作系统, 或调整【时间范围】/【自动分卷】配置项, 通过限定单本pdf容量, 手工将pdf体积控制在2GB之内利用【开发者模式】配置项, 可以极大加快微博备份速度。

    点击开始备份,可以看到运行日志。

    2020-05-26 19:56:44.780: [FetchCustomer] 本次抓取的页码范围为:0~10 2020-05-26 19:56:44.824: [FetchCustomer] 准备抓取第1/271页微博记录 2020-05-26 19:56:45.275: [FetchCustomer] 第1/271页微博记录抓取成功, 准备存入数据库 2020-05-26 19:56:45.967: [FetchCustomer] 第1/271页微博记录成功存入数据库 2020-05-26 19:56:45.968: [FetchCustomer] 已抓取1/271页记录, 休眠20s, 避免被封 2020-05-26 19:57:05.970: [FetchCustomer] 准备抓取第2/271页微博记录 2020-05-26 19:57:06.310: [FetchCustomer] 第2/271页微博记录抓取成功, 准备存入数据库 2020-05-26 19:57:07.039: [FetchCustomer] 第2/271页微博记录成功存入数据库 2020-05-26 19:57:07.040: [FetchCustomer] 已抓取2/271页记录, 休眠20s, 避免被封 2020-05-26 19:57:27.041: [FetchCustomer] 准备抓取第3/271页微博记录

    开始下载图片。

    执行完毕,在本地生成了你的微博电子书。

    生成目录下有源文件和PDF。

    打开里面的HTML文件,备份的微博按照月份分类。

    看看2019年4月7号的这条微博,图片都下载到本地了。

    生成的PDF文件近30MB,不算太大。

    这个工具只能备份自己的微博数据,如果想备份其他人的,可以使用下面的Python脚本,它还能分析某个微博账号的数据。

    Python 备份和分析微博

    这是个开源项目https://github.com/nlpjoe/weiboSpider ,使用方法很简单,先登录微博复制你的cookie,然后修改配置文件,之后执行脚本就可以了,看我的操作流程。

    打开 https://m.weibo.cn/ 登录你的微博账号获取headers的 cookie ,就是箭头里那一长串字符。

    下载代码到本地,由于是国外网站下载会比较慢,可以在公众号内回复 微博 获取。

    之后修改配置文件config.json ,这里说明下,user_id_list填你要分析的微博账号uid,可以填多个,我这里填的是非常喜欢的歌手李健。filter为1表示分析原创微博,如果分析所有微博填0即可。since_date为从哪天的微博开始分析,然后就是把上面复制的cookie填到对应位置。

    {	"user_id_list": ["1744395855"],    "filter": 1,    "since_date": "2015-01-01",    "write_mode": ["csv", "txt"],    "pic_download": 1,    "video_download": 1,    "cookie": "xxx",    "mysql_config": {        "host": "localhost",        "port": 3306,        "user": "root",        "password": "123456",        "charset": "utf8mb4"    }}

    接着执行 pip install -r requirements.txt 安装以下依赖包。

    requests==2.22.0jieba==0.42.1wordcloud==1.6.0scipy==1.2.1seaborn==0.10.0pandaslxmltqdm

    当然你也可以单独安装 pip --trusted-host pypi.doubanio.com install -U tqdm -i http://pypi.doubanio.com/simple

    scipy要安装指定版本 pip --trusted-host pypi.doubanio.com install scipy==1.2.1 -i http://pypi.doubanio.com/simple

    上面都配置好了,就开始执行脚本 python weibospider.py ,我是在Windows下使用的Python3.7,可能跟作者环境不一样,遇到了些问题。

    如果执行出现错误 SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed ,改动文件 weibospider.py 里的requests请求参数。

    html = requests.get(url, cookies=self.cookie,verify=False).content

    需要注意如果提示 cookie错误或已过期 ,再刷新下 m.weibo.cn复制cookie填到配置文件。

    没问题的话可以看到脚本开始执行了。

    抓取完毕,开始生成李健的微博词云图,他的微博关键词为音乐,北京,朋友,歌手,电影,居然还提到了周杰伦。

    每个月转发评论点赞总数图,可以看到2016-2018年的微博数据是高峰期。

    原创微博和转发微博数据比例。

    李健发微博的工具主要为pc网页和iPad。

    生成的目录下还有所有微博的图片,视频,txt文件和excel数据。

    原创微博里转发最高的为2015年这条宣传电影《太平轮》主题曲 假如爱有天意 的微博https://www.weibo.com/1744395855/CruOoDGtB ,不过也才2万多,和某些动辄百万转发的流量明星的确不能比,毕竟人家水军多。

    下图是李健微博转发最高的20条微博,平均不到1万的转发和评论,点赞倒是都有几万。

    ps:如果你想分析某个微博账号,自己又不会使用Python,联系我,包教包会,当然直接给你数据也可以。

    获取数据源码加群:850591259

     

    展开全文
  • 一键生成http服务器

    2018-02-16 17:50:00
    如果你想用最简单的方法在内...在手机浏览器里观看电脑上的pdf。 在其他设备上的浏览器里访问、下载电脑上的图片。 有类似这样的需求只需要一条命令: $python3 -m http.server 8080 在其他浏览器中输入192.168.0.1...

    如果你想用最简单的方法在内网共享目录,可以考虑为要共享的目录生成一个http服务器,这样就可以在内网任一台设备打开浏览器就可以浏览了。简单举几个例,有了这个http服务器就可以:

    • 在手机浏览器里观看电脑上的pdf。
    • 在其他设备上的浏览器里访问、下载电脑上的图片。

    有类似这样的需求只需要一条命令:
    $python3 -m http.server 8080

    在其他浏览器中输入192.168.0.103:8080即可访问。视频、音频这些还没有方便到可以直接在浏览器中观看,只能自行下载。下载也是很方便的,wget等工具也能一键完成。

    转载于:https://www.cnblogs.com/xcw0754/p/8450312.html

    展开全文
  • 图片生成二维码最好的工具

    千次阅读 2020-08-25 17:04:04
    手机浏览器就可以直接打开使用 qr.maitube.com 打开maitub二维码工具,因为maitube是个H5网页,大家可以在电脑手机甚至微信自带的浏览器都可以打开maitube二维码工具 可以选择需要制作的二维码,比如 短信,电话,...

    二维码如何大行其道,只需要手机扫描一下就可以使用了的。那么如何把图片生成二维码的呢?我比较推荐maitube,功能齐全而且不用注册。类似 pdf 和 图片之类在线分享的,maitube不但没有限制,而且是免费不用注册的。 手机浏览器就可以直接打开使用 qr.maitube.com

    打开maitub二维码工具,因为maitube是个H5网页,大家可以在电脑手机甚至微信自带的浏览器都可以打开maitube二维码工具
    在这里插入图片描述

    可以选择需要制作的二维码,比如 短信,电话,wifi之类的。当然如果需要分享文档或者图片, 可以进入照片生成二维码或者图片部分
    在这里插入图片描述

    然后就可以将生成的二维码和链接分享给别人进行阅览了。MaiTube二维码生成器的好处就是不需要注册,直接进行使用

    如果这组图片是要分享到微信当中的,我们还可以设置 这组图片的标题和描述,这样可以增加别人的点击欲望。
    在这里插入图片描述

    图片分享出去之后,还有追踪链接。。。在别的二维码制作工具中是要充会员的。但是麦瓜二维码是不用的,为了免除注册的烦恼,针对每个二维码和链接,都有对应的追踪链接。我们可以很清楚的通过这个链接知道二维码被扫了多少次,链接被打开多少次。每次打开的时间是什么,打开的ip地址是什么,这样就可以知道打开着的大致位置了。

    展开全文
  • 朋友圈如何分享pdf

    千次阅读 2019-10-13 14:24:35
    朋友圈如何分享pdf #PDF是生活中常用的文档格式。我们可以轻松的用电脑或者手机进行pdf的传送。...用MaiPDF工具生成一个对该PDF文件的链接,该链接是普通的一个网址,可以在任意浏览器打开。 还可以在MaiPDF...
  • 向所有页面添加自定义Javascript,从而使许多台式机浏览器扩展程序可以在智能手机或平板电脑上按原样工作 运行自定义程序以更改标记,或更改或注释语言工具的文本(例如,参见注释器生成器) 以浏览器不支持的语言或...
  • 随着移动终端办公化的普及,在Android手机中阅读文档已经是很普遍的事情了,但是有些文档可能是涉及到一些企业机密与敏感的内容,...本文将和大家分享一种不依赖第三文档浏览器(如WPS)的PDF文件水印生成方法,欢迎...
  • 出现这种情况的原因,主要是PDF可以由很多方式生成,分享两个转换效果比较好的工具。 第一种,当然是要先分享私藏的免费在线转换工具,不用下载安装,手机也能用,简直不要太好用。 只需要用浏览器speedpdf就能找到...
  • 电冰箱)、汽车电子没备等都是近年以来热门的Java应用领域,尤其是手机上的Java应用 程序和Java游戏,更是普及。 4:除了上面提到的,Java还有很多功能:如进行数学运算、显示图形界面、进行网络操作、 进行数据库操作、...
  • 10.4 手机qr code二维条形码生成器 714 10.5 android qr code二维条形码扫描仪 718 10.6 上班族今天中午要吃什么 726 10.7 掷杯筊 746 10.8 电蚊香 751 10.9 转转轮盘——lucky! 756 10.10 任务...
  • 《Google Android开发入门与实战》.pdf

    热门讨论 2013-02-17 14:49:44
    4.5.2 卖东西也要签名——生成签名文件 46 4.5.3 打包、签名、发布应用 48 4.6 本章小结 51 第5章 千里之行 始于足下——第一个应用helloworld 52 5.1 helloworld应用分析 52 5.1.1 新建一个android...
  • C#微软培训教材(高清PDF

    千次下载 热门讨论 2009-07-30 08:51:17
    C#--微软.NET的第一语言 本书着重介绍语言本身,比较少涉及应用,不错的入门书,从头讲起,不怕不明白。 <<page 1>> page begin==================== 目 目目 目 录 ... 比尔.... 2000 年 6 月 ...
  • 含本书PDF教程 共399个实例: 第1章 窗体与界面设计   1.1 菜单应用实例   cc实例001 在系统菜单中添加菜单项   cc实例002 带图标的程序菜单   cc实例003 根据表中数据动态生成菜单   cc实例004 浮动...
  • 含本书教程PDF版 共399个实例: 第1章 窗体与界面设计   1.1 菜单应用实例   cc实例001 在系统菜单中添加菜单项   cc实例002 带图标的程序菜单   cc实例003 根据表中数据动态生成菜单   cc实例004 ...
  • 含本书PDF教程 共399个实例: 第1章 窗体与界面设计   1.1 菜单应用实例   cc实例001 在系统菜单中添加菜单项   cc实例002 带图标的程序菜单   cc实例003 根据表中数据动态生成菜单   cc实例004 浮动...
  • 含本书教程PDF 共399个实例: 第1章 窗体与界面设计   1.1 菜单应用实例   cc实例001 在系统菜单中添加菜单项   cc实例002 带图标的程序菜单   cc实例003 根据表中数据动态生成菜单   cc实例004 浮动...
  • 17.4.2 检测浏览器是否支持Canvas 449 17.4.3 在Web页面中使用Canvas 450 17.4.4 使用路径(Path) 452 17.4.5 设置线条风格 453 17.4.6 设置填充类型 453 17.4.7 填充矩形区域 454 17.4.8 使用渐变色...
  • 2.1.4 QQ尾巴生成器 2.1.5 QQ强制聊天 2.1.6 QQ炸弹攻防剖析 2.1.7 IP地址的泄露与保护 2.1.8 查看QQ聊天记录与防护 2.2 MSN安全 2.2.1 MSN密码的安全攻防 2.2.2 MSN保护盾 2.2.3 本地保存的MSN密码防护 2.2.4 查看...
  • 17.4.2 检测浏览器是否支持Canvas 449 17.4.3 在Web页面中使用Canvas 450 17.4.4 使用路径(Path) 452 17.4.5 设置线条风格 453 17.4.6 设置填充类型 453 17.4.7 填充矩形区域 454 17.4.8 使用渐变色...
  • 温馨提示:“本程序以IE高版本内核开发,后台环境不支持IE9.0及以下版本,请使用IE10.0以上版本浏览器或兼容火狐、谷歌、猎豹等浏览器,推荐使用兼容火狐浏览器登录后台管理, 请勿使用aspweb、小旋风或NETBOX等IIS...
  • 实例073 使用正则表达式验证手机号 89 实例074 使用正则表达式验证身份证号 90 实例075 使用正则表达式验证两位小数 91 实例076 使用正则表达式验证一年的12个月份 92 实例077 使用正则表达式验证一个月的31天 93 ...
  • 温馨提示:“本程序以IE高版本内核开发,后台环境不支持IE9.0及以下版本,请使用IE10.0以上版本浏览器或兼容火狐、谷歌、猎豹等浏览器,推荐使用兼容火狐浏览器登录后台管理, 请勿使用aspweb、小旋风或NETBOX等IIS...
  • 温馨提示:“本程序以IE高版本内核开发,后台环境不支持IE9.0及以下版本,请使用IE10.0以上版本浏览器或兼容火狐、谷歌、猎豹等浏览器,推荐使用兼容火狐浏览器登录后台管理, 请勿使用aspweb、小旋风或NETBOX等IIS...
  • PDF格式扫描版,共压缩为5部分,这是第1部分。 内容简介 本系列图书包括第I卷、第II卷共计1200个例子,本文档是第I卷,共计603个例子。本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了...
  • PDF格式扫描版,共压缩为5部分,这是第4部分。 内容简介 本系列图书包括第I卷、第II卷共计1200个例子,本文档是第I卷,共计603个例子。本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了...
  • PDF格式扫描版,共压缩为5部分,这是第2部分。 内容简介 本系列图书包括第I卷、第II卷共计1200个例子,本文档是第I卷,共计603个例子。本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了...
  • PDF格式扫描版,共压缩为5部分,这是第3部分。 内容简介 本系列图书包括第I卷、第II卷共计1200个例子,本文档是第I卷,共计603个例子。本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了...
  • PDF格式扫描版,共压缩为5部分,这是第5部分。 内容简介 本系列图书包括第I卷、第II卷共计1200个例子,本文档是第I卷,共计603个例子。本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了...

空空如也

空空如也

1 2 3 4 5
收藏数 92
精华内容 36
关键字:

手机浏览器生成pdf