首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Golang服务端生成自定义PDF的方案

第一步是生成HTML模版,这里找到了一个在线HTML编辑器(https://www.lddgo.net/string/htmleditor),可以直接根据设计样式生成对应HTML+CSS代码。...使用值时取 好的,那现在万事俱备,就差把HTML转成PDF文件了,这里选择的第三方库是 go-wkhtmltopdf。...代码如下,首先创建一个用于接收填充数据后的HTML临时文件,使用 tpl.Execute 填充数据,然后根据填充后的模版页面生成PDF,由于网络问题可能生成失败,这里做了3次重试,然后将PDF文件更新写入磁盘.../static/output.html") // 设置页面大小A4 pdfg.PageSize.Set(wkhtmltopdf.PageSizeA4) pdfg.AddPage(page)...由于公司服务器操作系统是CentOS9官方还没有出对应的版本,这里找了个CentOS9版本的第三方包,亲测可用:https://rhel.pkgs.org/9/aeris-x86_64/wkhtmltox

12810

用python实现csdn博主全部博文下载,html转pdf,有了学习的电子书了。。。(附源码)

python中将html转化为pdf的常用工具是Wkhtmltopdf工具包,在python环境下,pdfkit是这个工具包的封装类。如何使用pdfkit以及如何配置呢?分如下几个步骤。...下的是这个版本,安装的时候要记住路径,之后调用要用到路径 ?...文件的转换 分析网页: CSDN网页是静态网页, 请求获取网页源代码 start_url =“https://i1bit.blog.csdn.net/” 例 确定网址同步加载 ?...css选择器获取标签文本的主体代码要点部分 css语法部分 html_css = parsel.Selector(响应的数据) html_content = html_css.css('要获取的部分...=r'这里下载wkhtmltopdf.exe的路径') ) 源码展示: import parsel, os, pdfkit from lxml import etree from

59520
您找到你想要的搜索结果了吗?
是的
没有找到

在Ubuntu 16.04上安装Odoo 10

本教程介绍了如何使用Git源代码在一小时内安装和配置Odoo,以便于升级,维护和自定义。 准备 一台已经设置好可以使用sudo命令的root账号的Ubuntu 16.04服务器。...没有服务器的同学可以在这里购买,不过个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。...我们也不会使用Ubuntu的Wkhtmltopdf和node-Less的打包版本。 请务必按照本节中的步骤作为有限的root用户(而非odoo用户)。...在这个例子中,我们使用0.12.1。...如果确实遇到错误,则需要检查导致它的模块的新版本,然后重新安装。 如果一切按预期进行,您可以启动负载测试模块“行为”测试(与代码不兼容的错误不同),以及您配置的任何其他测试。

3.3K42

PDF技术 -Java实现Html转PDF文件

/profile 在最后一行加 export PATH=DIR/wkhtmltox/bin:PATH 保存退出、 source /etc/profile 3.运行 wkhtmltopdfwkhtmltopdf...open shared object file: No such file or directory这个错,请运行 apt-get/yum install libXext* 运行 wkhtmltopdf...StringBuilder(); 23 if (System.getProperty("os.name").indexOf("Windows") == -1) { 24 // windows...对网页文件标签、CSS语法错误的容错性比较好。 对不用额外的控制,就支持图片的转化输出。 缺点: 存在样式失真问题,CSS支持较不好。 不开源,最新的demo版本,下载测试以后,发现不支持中文转换。...以转CSDN及百度搜索网页测试例。 1. restpack 官网:https://restpack.io/    能很好保持样式,且支持中文,速度快。价格相比较优惠。

12.2K30

Python抓取公众号文章并生成pdf文件保存到本地

发现这里返回的数据有一个next_offset这个字段,看意思就是想下一页的数据偏移量,于是把数据每次取出来之后,重新赋值,发现数据果然没有再次重复了. ?...,然后再进一步分析,发现这个状态等于11的时候,是原创 copyright = data['app_msg_ext_info']['copyright_stat'] copyright = '原创文章..._' if copyright == 11 else '原创文章_' 完整的抓取数据代码就是这些: def parse_data(self, response_data):...仅仅把文章抓取到完全不能满足的兴趣,想把有价值的公众号文章放到本地自己来查看一下,于是就有了把文章转成pdf 文档的想法,怎么把文章转成pdf文档呢, 分下面三步操作: 电脑上安装 wkhtmltopdf...缺点还是有的,网页中的图片无法写入在pdf文件中,另外这个pdfkit用法还有很多,这里就不深入了,有兴趣的朋友可以自行深入!

3.9K40

python制作电子书

参考文章 python制作pdf电子书 准备 制作电子书使用的是python的pdfkit这个库,pdfkit是 wkhtmltopdf 的Python封装包,因此在安装这个之前要安装wkhtmltopdf...安装wkhtmltopdf sudo apt-get install wkhtmltopdf (ubantu下,不过这里安装的时候可能对应的版本不同,会出现错误,如果不行的话还请自己百度下,...安装的时候是可以的) windows下的用户直接到wkhtmltopdf官网下载稳定版本,然后直接安装即可,但是安装之后需要注意的是一定要将其添加到环境变量中,否则会出现找不到路径的问题 python...css=css) 注意 这里生成pdf的时候可能出现中文的乱码,请一定在html模板开头指定字体utf-8-> 可能在爬取生成的时候会出现ascii错误...如果有兴趣的朋友可以用框架写一个爬取全站的 这里的主要用到的是BeautifulSoup和requests,详情可以看我的博客中的BeautifulSoup用法,后续还会更新requests的用法 源代码请见

1.6K40

如何在Bash中等待多个子进程完成,并且当其中任何一个子进程以退出状态结束时,使主进程也返回一个退出码?

问题 如何在 Bash 脚本中等待该脚本启动的多个子进程完成,并且当这其中任意一个子进程以退出码结束时,让该脚本也返回一个退出码? 简单的脚本: #!.../bin/bash for i in `seq 0 9`; do calculations $i & done wait 上述脚本将会等待所有 10 个被创建的子进程结束,但它总会给出退出状态 0...应该如何修改这个脚本,使其能检测到被创建子进程的退出状态,并且当任何子进程以代码结束时,让脚本返回退出码 1?.../usr/bin/env bash # 这是一个特殊的 sleep 函数,它将睡眠的秒数作为"错误代码" # 或"返回代码"返回,以便我们可以清楚地看到,实际上 # 我们在每个进程完成时确实获取了它的返回代码...[ $rc -ne 0 ] && break # 若子进程以退出码结束,则跳出循环 done #echo $rc exit $rc 将代码保存为文件 wait_procs_demo.sh,再运行测试

5700

wkhtmltopdf参数详解及精讲使用方法

[More input files] 上述代码就是 wkhtmltopdf 的命令行格式,看似简单,其实在 [GLOBAL OPTION] 和 [OBJECT...可以告诉你的是,在纯文字的情况下他们的差别不大,此参数只是降低了PDF文档的质量,看上去是糙了一些,但不会影响阅读。...–allow 这个参数只在“页面对象”是一个文件时有效,在“页面对象”是一个url时此参数无效。 这个参数的作用是HTML页面中使用相对路径引用的文件指定一个加载文件的基目录。...这个参数可以重复使用指定多个需要在页面加载完成后执行的JS代码。你可以在这些JS中对页面的结构和内容进处理,JS执行完成后才会把对应的页面生成PDF文档。...grayscale PDF格式将在灰阶产生 –help Display help –htmldoc 输出程序HTML帮助 –ignore-load-errors 忽略claimes加载过程中已经遇到了一个错误页面

45810

Freenginx: Nginx的分叉

所知道的唯一讨论发生在 security-alert@ 邮件列表中,共识是该错误应该作为普通错误进行修复。...现在,他觉得虽然由于“不再能够控制 F5 内的 Nginx 更改,也不再将 nginx 视为公共利益开发和维护的自由开源项目”,F5 有权随意处置这个项目,但他不会再为 Nginx 工作。...这个程序是由在 F5 退出莫斯科后遭遇困境的俄罗斯 Nginx 开发者创建的。Angie 属于俄罗斯公司 Web Server,Dounin 担心任何营利公司都可能干扰代码的适当开发和维护。...Dounin 的新创业 Freenginx 旨在重拾开源开发的精神,“公共利益”服务,摆脱企业控制。...Freenginx 的第一个代码版本 freenginx-1.25.4 已于 2022 年 2 月 20 日发布。这是一个旧代码库的克隆,只做了几项较小的更改。其中一项是修复导致分叉的错误

10610

Go语言核心36讲(Go语言进阶技术十五)--学习笔记

21 | panic函数、recover函数以及defer语句 (上) 在本篇,要给你展示 Go 语言的另外一种错误处理方式。...再下面的一行,指出的就是这个 goroutine 中的哪一行代码在此 panic 被引发时正在执行。 这包含了此行代码在其所属的源码文件中的行数,以及这个源码文件的绝对路径。...这一行最后的+0x3d代表的是:此行代码相对于其所属函数的入口程序计数偏移量。不过,一般情况下它的用处并不大。 最后,“exit status 2”表明这个程序是以退出状态码2结束运行的。...注意,这与从函数返回错误值的意义是完全不同的。当我们的函数返回一个nil的错误值时,函数的调用方有权选择不处理,并且不处理的后果往往是不致命的。...深入地了解此过程,以及正确地解读 panic 详情应该是我们的必备技能,这在调试 Go 程序或者 Go 程序排查错误的时候非常重要。

36401

【Linux】开始掌握进程控制吧!

表示最近一个进程的退出码),一般0表示正常运行,表示有问题。 父进程关心子进程的信息,想要知道子进程是否正常运行。...(kill -9 就是一个信号) 注意: 先确认是否异常 不是异常就是代码正常跑完,看退出码即可。 可以通过退出信号来判断出现了什么异常 2.3 如何终止 正常终止(可以通过 echo $?...(查看进程是否是正常退出) WEXITSTATUS(status): 若WIFEXITED,提取子进程退出码。...(查看进程是否是正常退出) WEXITSTATUS(status): 若WIFEXITED,提取子进程退出码。(查看进程的退出码) 对于第三个参数,就可以让父进程在等待的刚才中区做其他事情。...下面写入了一段阻塞轮询等待的代码,这样就能保证父进程在等待的过程中,可以去做其他事情!

7910

3分钟短文 | Linux 命令正确的退出方式:exit 0

退出状态 每个shell命令在成功终止时都会返回退出代码。 按照惯例,退出代码表示命令已成功完成,退出代码表示遇到错误。 特殊变量$?...返回最后执行的命令的退出状态: date &> /dev/null echo $? 该 date 命令成功完成,并且退出代码 0。...如果尝试ls在不存在的目录上运行,则退出代码将为: ls /nonexisting_dir &> /dev/null echo $? 结果输出 2。 状态代码可用于找出命令失败的原因。...下面是显示脚本用户调用脚本时如何终止脚本的示例: ? 如果您以root用户身份运行脚本,则退出代码将为。否则,脚本将以status退出1。...写在最后 每个 shell 命令终止时,都会返回退出码,在 bash 脚本中你可以灵活地使用,并控制程序流程。 Happy coding :_) 是 @程序员小助手 ,持续分享编程知识,欢迎关注。

1.8K30

教妹学 Java 第 42 讲:try-catch-finally

“因为 ArithmeticException 是 Exception 的子类,它更具体,我们看到就这个异常就知道是发生了算术错误,而 Exception 比较泛,它隐藏了具体的异常信息,我们看到后并不确定到底是发生了哪一种类型的异常...说,“再者,如果把通用型的异常放在前面,就意味着其他的 catch 块永远也不会执行,所以编译器就直接提示错误了。” “再给你举个例子,注意看,三妹。”...,第一个 catch 块会执行,因为除数再来稍微改动下代码。...斩钉截铁地回答。 遇到了死循环。 执行了 System. exit() 这行代码。 System.exit() 和 return 语句不同,前者是用来退出程序的,后者只是回到了上一级方法调用。...至于参数 status 的值也很好理解,如果是异常退出,设置 0 即可,通常用 1 来表示;如果是想正常退出程序,用 0 表示即可。

37910
领券