如何将wordpress帖子转换为图片并使其可下载?

问题描述 投票:1回答:3

我创建了一个wordpress网站。我想通过将所有帖子转换为图像来下载所有帖子。

我尝试使用canvas,但没有成功。

[有人能建议我在wordpress上有更好的工作方式,让我将帖子转换为图像并下载吗?

我想让帖子覆盖特定的div,以便我可以定义要下载的内容的大小。

[类似HTML2CANVAS,但我做不到。

PS-I在每个帖子中都有非常小的内容

php wordpress html2canvas
3个回答
1
投票

我认为您的选择是

  1. 使用某些第三方服务,例如http://web-capture.net/https://www.url2png.com。它们中的大多数,特别是那些可以按需调用的API都将花费您,但是有免费的替代方法。

  2. 如果您有权访问linux控制台并了解一些基本知识,最好的方法是在帖子URL上运行真实的浏览器(如果您使用的是无头服务器,请使用Xvfb),然后使用ImageMagick进行屏幕截图。您可以裁剪图像以删除浏览器标题等。在此处http://www.leonardteo.com/2011/07/taking-server-side-screenshots-of-websites/提供工作级别的说明。

在两种情况下,PHP都只是触发器,无论它将调用第三方API还是您的本地Shell脚本。

我还建议避免使用JPEG格式,因为它实际上不能很好地与文本配合使用。请改用PNG。


0
投票

您可以按照@Progrock的建议尝试使用imagettftext()渲染文本,但这将是一个巨大的痛苦,因为您显然拥有多于一行的文本。首先,您需要确定图像的宽度,然后使用imagettfbbox()粗略估计一行中可以容纳多少个字符,将文本分成该大小的块,然后逐个书写,并添加Y坐标。如果您需要此处的段落,请加分。确保您使用的是单色字体,因为它永远无法与可变宽度的字母一起正常工作。在此处http://php.net/manual/en/function.imagettftext.php浏览注释。

我的建议-坚持使用浏览器:)您可以调整浏览器窗口的大小并裁剪多余的部分。


0
投票

使用WP API提取要在图像中使用的数据,然后使用PHP函数将其转换为图像。

© www.soinside.com 2019 - 2024. All rights reserved.