我创建了一个wordpress网站。我希望通过将其转换为图像来使所有帖子可下载。
我尝试使用canvas但未成功。
任何人都可以建议我在wordpress上更好地工作,这样我就可以将我的帖子转换为图像并使其可下载吗?
我想用特定的div覆盖帖子,以便我可以定义要下载的内容的大小。
喜欢这个HTML2CANVAS,但我无法做到。
PS-I每个帖子的内容都非常小
答案 0 :(得分:1)
我认为你的选择是
使用某些第三方服务,例如http://web-capture.net/或https://www.url2png.com。他们中的大多数,尤其是那些可以按需调用的API都会花费你,但是有免费的替代品。
如果您可以访问linux控制台及其一些基本知识,最好的方法是使用您的帖子URL运行真正的浏览器(如果您使用无头服务器,使用Xvfb)并制作屏幕截图与ImageMagick。您可以裁剪图片以删除浏览器标题等。http://www.leonardteo.com/2011/07/taking-server-side-screenshots-of-websites/处的工作级说明。
在这两种情况下,PHP都只是触发器,无论是调用第三方API还是本地shell脚本。
我还建议避免使用JPEG格式,因为它不能很好地与文本配合使用。请改用PNG。
答案 1 :(得分:0)
你可以尝试用@Progrock建议的imagettftext()来渲染文本,但这将是一个巨大的痛苦,因为你显然有多行文字。首先,您需要确定图像的宽度,然后使用imagettfbbox()粗略估计您可以在一行中放入多少个字符,将文本拆分为该大小的块,然后逐个写入,添加Y坐标。如果你在这里需要段落,可以使用奖励积分...确保你使用的是monotype字体,因为它不能正常使用可变宽度的字母。在此处查看评论http://php.net/manual/en/function.imagettftext.php。
我的建议 - 坚持使用浏览器:)您可以调整浏览器窗口的大小并裁剪额外的部分。