精华内容
下载资源
问答
  • pdfkit 图片不显示
    2021-11-26 15:55:11

    1. 需要使用外部连链接, 不要使用项目的相对路径

    2.wkhtmltopdf 0.12.4以下,需要安装libssl1.0-dev依赖,不然图片等外部引入的https都无法访问

    更多相关内容
  • # 该方法根据文章url对html进行处理,使图片显示 content_info = ws_api.get_article_content(url) # 得到html代码(代码完整,需要加入head、body等标签) html_code = content_info['content_html'] 然后根据...

    前言

    第一次写博客,主要内容是爬取微信公众号的文章,将文章以PDF格式保存在本地。

    爬取微信公众号文章(使用wechatsogou)

    1.安装

    pip install wechatsogou --upgrade

    wechatsogou是一个基于搜狗微信搜索的微信公众号爬虫接口

    2.使用方法

    使用方法如下所示

    import wechatsogou
    # captcha_break_time为验证码输入错误的重试次数,默认为1
    ws_api = wechatsogou.WechatSogouAPI(captcha_break_time=3)
    # 公众号名称
    gzh_name = ''
    # 将该公众号最近10篇文章信息以字典形式返回
    data = ws_api.get_gzh_article_by_history(gzh_name)

    data数据结构:

    {
        'gzh': {
            'wechat_name': '',  # 名称
            'wechat_id': '',  # 微信id
            'introduction': '',  # 简介
            'authentication': '',  # 认证
            'headimage': ''  # 头像
        },
        'article': [
            {
                'send_id': int,  # 群发id,注意不唯一,因为同一次群发多个消息,而群发id一致
                'datetime': int,  # 群发datatime 10位时间戳
                'type': '',  # 消息类型,均是49(在手机端历史消息页有其他类型,网页端最近10条消息页只有49),表示图文
                'main': int,  # 是否是一次群发的第一次消息 1 or 0
                'title': '',  # 文章标题
                'abstract': '',  # 摘要
                'fileid': int,  #
                'content_url': '',  # 文章链接
                'source_url': '',  # 阅读原文的链接
                'cover': '',  # 封面图
                'author': '',  # 作者
                'copyright_stat': int,  # 文章类型,例如:原创啊
            },
            ...
        ]
    }

    这里需要得到两个信息:文章标题,文章url。

    得到文章url以后,就可以根据url将html页面转换成pdf文件了。

    生成PDF文件

    1.安装wkhtmltopdf

    下载地址:https://wkhtmltopdf.org/downloads.html

    2.安装pdfkit

    pip install pdfkit

    3.使用方法

    import pdfkit
    # 根据url生成pdf
    pdfkit.from_url('http://baidu.com','out.pdf')
    # 根据html文件生成pdf
    pdfkit.from_file('test.html','out.pdf')
    # 根据html代码生成pdf
    pdfkit.from_string('Hello!','out.pdf')

    如果直接用上面得到的文章url去生成pdf,会出现pdf文件不显示文章图片的问题。

    解决办法:

    # 该方法根据文章url对html进行处理,使图片显示
    content_info = ws_api.get_article_content(url)
    # 得到html代码(代码不完整,需要加入head、body等标签)
    html_code = content_info['content_html']

    然后根据html_code构造完整的html代码,调用pdfkit.from_string()方法生成pdf文件,这时候会发现文章中的图片在pdf文件中显示出来了。

    完整代码

    import os
    import pdfkit
    import datetime
    import wechatsogou
    
    # 初始化API
    ws_api = wechatsogou.WechatSogouAPI(captcha_break_time=3)
    
    
    def url2pdf(url, title, targetPath):
        '''
        使用pdfkit生成pdf文件
        :param url: 文章url
        :param title: 文章标题
        :param targetPath: 存储pdf文件的路径
        '''
        try:
            content_info = ws_api.get_article_content(url)
        except:
            return False
        # 处理后的html
        html = f'''
        <!DOCTYPE html>
        <html lang="en">
        <head>
            <meta charset="UTF-8">
            <title>{title}</title>
        </head>
        <body>
        <h2 style="text-align: center;font-weight: 400;">{title}</h2>
        {content_info['content_html']}
        </body>
        </html>
        '''
        try:
            pdfkit.from_string(html, targetPath + os.path.sep + f'{title}.pdf')
        except:
            # 部分文章标题含特殊字符,不能作为文件名
            filename = datetime.datetime.now().strftime('%Y%m%d%H%M%S') + '.pdf'
            pdfkit.from_string(html, targetPath + os.path.sep + filename)
    
    
    if __name__ == '__main__':
        # 此处为要爬取公众号的名称
        gzh_name = ''
        targetPath = os.getcwd() + os.path.sep + gzh_name
        # 如果不存在目标文件夹就进行创建
        if not os.path.exists(targetPath):
            os.makedirs(targetPath)
        # 将该公众号最近10篇文章信息以字典形式返回
        data = ws_api.get_gzh_article_by_history(gzh_name)
        article_list = data['article']
        for article in article_list:
            url = article['content_url']
            title = article['title']
            url2pdf(url, title, targetPath)

    转载于:https://www.cnblogs.com/xuzifan/p/11121878.html

    展开全文
  • python第三方库pdfkit非常好用,基本上应用它就可以打印出pdf文件,作为学渣收藏干货吃灰简直是完美匹配,本渣渣也写了不少爬取不少干货打印成pdf的文章,其中就有微信公众号文章,前...

    python第三方库pdfkit非常好用,基本上应用它就可以打印出pdf文件,作为学渣收藏干货吃灰简直是完美匹配,本渣渣也写了不少爬取不少干货打印成pdf的文章,其中就有微信公众号文章,前段时间又继续折腾了公众号文章打印pdf,发现如果存在图片就挂比,歇菜了!

    SO,因此有了这样一篇文章,解决微信公众号文章打印pdf图片无法显示的问题,不懂的话直接搜大佬的参考方案,百试百灵!!

    下面就来复盘一下解决方案!

    就以本渣渣的公众号文章链接为例:

    【微信采集助手】Python Tkinter 微信公众号文章批量采集工具

    爬取打印pdf效果:

    关键要点

    解决pdfkit直接转换url成为pdf会出现图片无法显示问题,参考了博客园xuzifan提供的思路,利用wechatsogou中的get_article_content函数,将url中的代码提取出来转换为html字符串,然后将html字符串转换为pdf,完美解决。

    pip install wechatsogou --upgrade
    

    wechatsogou是一个基于搜狗微信搜索的微信公众号爬虫接口,没错,还是调用接口!!

    使用Python爬取微信公众号文章并保存为PDF文件(解决图片不显示的问题)

    https://www.cnblogs.com/xuzifan/p/11121878.html

    不过本渣渣测试了一下代码,老是出验证码,死活没有运行下去!

    这里再提供一下最近的代码参考,一个大佬老哥的源码:

    搞定,爬取公众号文章转换成PDF,自动邮件发送给自己!

    可自行参考!

    附完整源码参考:

    #采集微信公众号文章内容转pdf文件
    #by 微信:huguo00289
    
    # -*- coding: UTF-8 -*-
    import wechatsogou
    import pdfkit
    
    #pdfkit本地路径
    config = pdfkit.configuration(
        wkhtmltopdf=r'D:\wkhtmltox-0.12.5-1.mxe-cross-win64\wkhtmltox\bin\wkhtmltopdf.exe')
    
    # 初始化API
    ws_api = wechatsogou.WechatSogouAPI(captcha_break_time=3)
    
    def dypdf(h1, data):
        # 处理后的html
        datas = f'''
            <!DOCTYPE html>
            <html lang="en">
            <head>
                <meta charset="UTF-8">
                <title>{h1}</title>
            </head>
            <body>
            <h2 style="text-align: center;font-weight: 400;">{h1}</h2>
            {data}
            </body>
            </html>
            '''
    
        print("开始打印内容!")
        pdfkit.from_string(datas, f'{h1}.pdf', configuration=config)
        print("打印保存成功!")
    
    
    def wx(h1,url):
        # 该方法根据文章url对html进行处理,使图片显示
        content_info = ws_api.get_article_content(url)
        # 得到html代码(代码不完整,需要加入head、body等标签)
        html_code = content_info['content_html']
    
        dypdf(h1, html_code)
    
    
    if __name__=='__main__':
        url="https://mp.weixin.qq.com/s?src=11&timestamp=1621327798&ver=3075&signature=jmB-1M7nuTd-tKOj-8WmSLcmLK7fWIfIeWsZvtIKw5AkYd4U0R5cOz*QSjaVDfg38UkPtUqfxL2Lut0jrWNuTAtQMiyWd*tJHqLlPnWH-ewQ46cpjjp-Pyke0ab57WdM&new=1"
        h1="【微信采集助手】Python Tkinter 微信公众号文章批量采集工具"
        wx(h1,url)
    

    调用接口什么的,还是比较简单,做一个调包侠,还是非常给力的!

    往期精彩

    01

    Python爬虫,微信公众号话题标签内容采集打印PDF输出

    02

    Python爬取杜赛博客教程内容,应用pdfkit打印pdf文件

    03

    Python知乎专栏爬虫,pdfkit专栏文章制作PDF电子书

    04

    Python爬虫,B站视频下载源码脚本工具助手附exe

    05

    【福利】Python抖音小视频无水印下载工具助手exe

    ·················END·················

    你好,我是二大爷,

    革命老区外出进城务工人员,

    互联网非早期非专业站长,

    喜好python,写作,阅读,英语

    不入流程序,自媒体,seo . . .

    公众号不挣钱,交个网友。

    读者交流群已建立,找到我备注 “交流”,即可获得加入我们~

    听说点 “在看” 的都变得更好看呐~

    关注关注二大爷呗~给你分享python,写作,阅读的内容噢~

    扫一扫下方二维码即可关注我噢~

    关注我的都变秃了

    说错了,都变强了!

    不信你试试

    扫码关注最新动态

    公众号ID:eryeji

    展开全文
  • pdfkit- Warning: Blocked access to file 解决 ... 标签中的本地图片即可被正确导出 options = { "enable-local-file-access": None } pdfkit.from_file(html_file_name, pdf_file_name, options=options) ...

    pdfkit- Warning: Blocked access to file 解决

    # 使用pdfkit时可以配置上下面options中的信息
    # <img src='xxx.jpg> 标签中的本地图片即可被正确导出
    options = {
      "enable-local-file-access": None
    }
    
    pdfkit.from_file(html_file_name, pdf_file_name, options=options)
    
    展开全文
  • 例如:图片格式支持、不显示图片,等等。 本文章将教大家解决,代码尽量简洁。 (之前有写过一篇,也有好多博主都写过了,本来想再写,但之前的内容太糟,于是决定重写一篇,希望大家会好理解一些。) 写得不好...
  • Warning: Blocked access to file D:/Python/Spyder/venv/Include/Operater/2.jpg Error: Failed to load about:blank, with network status code ...import pdfkit pdfkit.from_file("1.html", 'E:\HTML\out1.pdf')
  • linux下pdf中文不显示

    2021-05-15 21:38:28
    先安装字体(我的字体安装时显示失败,但是可以继续进行第二步,而出错)A.sudoapt-getinstallxpdf-chinese-simplified;B. sudo apt-get install xpdf-chinese-traditional.2. 装完后打开pdf文件,中文还是不显示,...
  • 这是一次wkhtmltopdf填坑经历 ...1、由于vue的“Mustache”语法没有被解析出来,最先想到的...改成用模板引擎,OK,有效果了,表格和其他的数据都差不多可以正常的显示了,但是echarts并没有显示。 2、于是又想到javascri
  • 使图片显示 content_info = ws_api.get_article_content(url) # 得到html代码(代码完整,需要加入head、body等标签) html_code = content_info['content_html'] 然后根据html_code构造完整的html代码,调用pdfkit....
  • f = file(filename, "wb") pdf = pisa.CreatePDF(StringIO(pdf_data.encode('utf-8')), f) return pdf pdf = create_pdf(render_template('receipt.htm', entry=entry, filename=filename)) html模板显示图像,但是...
  • 我有一个无法正确显示字体的svg文件。 我试图显示两个字符。 我在字体说明中包含了字形。...http://jsfiddle.net/AU3MH/7/为什么不显示字体?我正在运行Windows 7和Internet Explorer 11版本。谢谢,-克里...
  • vue +pdfkit+wkhtmltopdf导出pdf

    千次阅读 2020-08-26 19:06:18
    一、样式问题 1、使用vue+elementui时,发现有一些组件并能导出pdf,只能使用传统html和css布局,这样导出的pdf...// 使用thead默认每页都显示表头 } 三、实现部分 后端 模板export_file.txt: EXPORT_FILE = os.
  • -----(第四篇)给pdf增加文本水印和图片水印 【itext学习之路】-----(第五篇)对pdf进行盖章/签章/数字签名 【itext学习之路】-----(第六篇)将html转成pdf(解决中文不显示) 欢迎关注本人个人公众号,交流更多...
  • echarts加载上,是因为echarts有画图的那个动作,所以需要去掉那个动画效果,具体代码如下。 plotOptions: {  pie: {  size:'80%',  allowPointSelect: true,  ...
  • iOS PDFKit 开发指北

    千次阅读 2018-11-22 11:54:19
    前言 2017年夏天,在苹果全球开发者大会(WWDC)上...但 UIKit 却迟迟得到支持,尽管苹果公司之前在 iBooks 和 Mail 中使用过 PDFKit , 但是该框架并未向开发人员开房。 PDFKit 包含了大量关于 PDF 相关的功能,...
  • 但对于Node.js的PDFKit模块,知道的人并多,这倒是很意外。有了PDFKit模块,处理PDF文件变得非常容易,它让你避免了所有的复杂工作,并提供用CoffeeScript(也可以作为普通版的Javascript使用)写成的简易的API。...
  • PDFKit.NET 2.0 是一个百分百的.net组件,用来创建以及操作PDF文档。这篇文章我将专注于它的“数字签名”功能。数字签名可以被用来认证PDF的源文件(谁签名过它)并且提供一个PDF文档的完整性(看文档在被签名过后被...
  • 前言用 python 爬取你喜欢的 CSDN 的原创文章,保存为TXT文件,不仅查看方便,而且还无法保存文章中的代码和图片。今天教你制作成 PDF 慢慢看。万一作者的突然把号给删了,也会保存备份。知识点:requestscss选择...
  • C# WinForm打开PDF文件并在窗体中显示1.添加引用工具箱---右键---选择项--COM组件--Adobe PDF Reader2.使用方法代码如下:OpenFileDialog openFile=new OpenFileDialog();open..Filter = "PDF文件|*.pdf";openFile....
  • 我在执行该文件,发现图片可以下载下来,但是大小只有1kb,打开便是显示文件损坏 from bs4 import BeautifulSoup import requests, time, html5lib, pdfkit, os headers = { 'User-Agent': 'Mozilla/5.0 ...
  • 【Python】Python将HTML转成图片、PDF

    万次阅读 多人点赞 2020-09-24 11:20:20
    1、python的imgkit、pdfkit库 pip install imgkit pip install pdfkit 2、wkhtmltopdf工具包 下载地址:https://wkhtmltopdf.org/downloads.html,64位windows的话可以下载红框标出的版本 这个工具包有两个...
  • 记录一下python pip 安装模块失败和解决办法 pip安装失败界面 网上查询结果为网络的问题,需要用国内的镜像源 国内镜像源:  阿里云 ...pip install pdfkit-i http://pypi.douban.com/simple/ --truste
  • 我可以得到那个html,它看起来像这张图片。然而,后来我试着打印html,我得到了标签,但没有打印条形码。所以我试着把它转换成pdf格式并发送到打印机,但每当我试图转换成pdf格式时,我都会在转换后的pdf中找到标签...
  • 1. 首先上代码: import pdfkit #urlPath 是待导出的链接 pdfkit.from_url(urlPath, 'test...# 查看你本机是不是支持中文,结果会显示你的电脑已经安装的语言环境 locale -a # 安装locales apt-get install locales
  • 原文地址 分类目录——万能的Python系列 分类目录——爬虫系列 首先,需要下载安装支持工具 wkhtmltopdf wkhtmltopdf官网 下载地址 安装完成后将其下bin目录的绝对...import pdfkit HEADERS={ # 设置requests要...
  • 根据业务需要,需要在服务器端生成可动态配置的PDF文档,方便数据可视化查看。此文的测试是在客户端通过java程序的测试,直接运行java类获得成功!

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 247
精华内容 98
关键字:

pdfkit 图片不显示