当前位置: 首页 > 面试题库 >

PHP / Apache中的Inkscape不会将字体呈现为PNG

支华池
2023-03-14
问题内容

我今天发现的一个问题类似于这个未解决的问题;尽管不尽相同,但可能有相同的原因。

我正在使用inkscapePNG或PDF 渲染SVG文件。在大多数情况下,我打算使用Gearman在后台渲染它们,但现在,我正在PHP /
Apache进程中创建一些缩略图。看来,如果exec在Apache进程中调用了inkscape(通过PHP
),它将找不到需要呈现的字体。因此,图形元素呈现得很好,但是在PNG输出中未绘制任何文本元素

我怀疑Apache内部的CLI环境与我通常的bash控制台不同,这意味着无法看到字体。我在OS X 10.6.8上。有任何想法吗?

编辑:在评论之后,我php -i同时捕获了Apache和Gearman,并将第一个与第二个进行了对比(因此从理论上讲,应用diff将使其起作用)。该结果是在这里。

编辑2:我convert -list font在两种环境中都尝试过使用system-完全没有区别。


问题答案:

正如上面的评论所确定的,这是由环境差异引起的HOME-env
var在执行的过程中设置为不同。使用proc_open而不是简单可以exec更精确地控制所述过程,并通过显式设置env var解决了该问题。



 类似资料:
  • 我有麻烦在apache batik apache fop svg pdf代码转换配置字体。 配置文件似乎没有正确加载,只是在Ubuntu上加载。我试着在MacOSX上运行完全相同的代码,效果很好。。。 尝试在两个系统上加载相同的svg会产生不同的结果。 java的相关部分如下: 但完整版只是稍作修改的 https://github.com/naofum/thinreports-java/blob/

  • 我使用的是来自的fonthttp://fonts.googleapis.com/css?family=Open Sans。由于安全原因,一些客户端使用封闭环境,因此我需要使用从npm安装的本地字体。 我尝试了npm为提供的多个软件包,如,,但使用相同css的字体与以前使用GoogleApis字体呈现的字体不同,尤其是

  • 我正在使用PhantomJS进行网页截图。 我看到过其他关于@font-face问题的帖子,但我页面上的字体呈现正确。我唯一的问题是,每次截图时,字体显示与前一个截图略有不同。所以尽管他们的渲染是正确的,但他们在截图上的外观是不一致的。 我已经尝试了许多修复,大多数都是基于这样的假设,即这与页面准备好之前拍摄的截图有关,但这似乎不是问题所在。例如,我已经延迟了截图,以便字体有时间加载和呈现,但这并

  • 问题内容: 我正在测试我的网站,并且在所有浏览器上都能正常工作,但iphone浏览器(我认为它是移动Safari?)除外,该浏览器呈现的文字部分的字体比其他字体大。我已经手动检查了CSS,并在页面上使用了萤火虫,并且可以确认我对所有CSS都设置了相同的大小。我该如何解决? 问题答案: 为了稍微改善Lukasz的想法,请尝试在CSS中使用以下规则: 使用值“ 100%”而不是“ none”,使所有其

  • 我有一个缩放功能,可以调整行/列标签的字体大小,以匹配显示的网格/图像。与悬停单元格对应的行/列标签为粗体,所有其他标签为普通标签。但是,有时,即使相同大小的垂直列标签显示为粗体,悬停的水平行标签也会显示为普通。 我已经做了一些测试,并确定这是发生在某些字体(如Courier)的某些标准字体大小(12、18、24等),而不是其他字体(如Helvetica Neue)。所有字体(包括有问题的字体)的

  • 问题内容: 我正在使用以下jQuery将图像列表加载到div中: 我返回的字符串是一个包含一些图像的字符串 但是,.text方法不会将它们添加到dom中。取而代之的是,它仅将HTML打印为divEntryDisplay 内的文本 我做错了什么? 问题答案: 您确实应该使用html方法(请参见此处的文档:http : //docs.jquery.com/Attributes/html) 这使您的函数