当前位置: 首页 > 知识库问答 >
问题:

使用wkhtmltopdf将Google图表输出为PDF

许振海
2023-03-14

我们有一个Silverstripe项目,它使用silverstripe-wkhtmltopdf模块将超文本标记语言/CSS/Javascript输出为PDF。

简单的Javascript类文档。编写工作正常,但我想使用谷歌图表的可视化API输出谷歌图表:

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script>
  google.load('visualization', '1', {packages: ['corechart', 'bar']});
</script>

PDF没有显示任何可视化输出,所以我使用QTBrowser调试Javascript——正如这里所建议的:在wkhtmltopdf中调试Javascript

我在QTBrowser中遇到的错误是:错误:无法加载一种或多种字体 来自https://www.google.com/uds/api/visualization/1.0/b5ac9efed10eef460d14e653d05f5fbf/webfontloader,动态图,格式en,默认en,ui en,条形图en,corechart en。I.js:737

HTML在我看来是正确的,但我不知道QTBrowser的兼容性,也不知道它与wkhtmltopdf的关系。

有没有人有过使用wkhtmltopdf输出谷歌图表的经验/成功经验?


共有1个答案

锺离卓
2023-03-14

这里有一篇很好的帖子,它解释了这个主题,并向你展示了如何实现它

http://codingexplained.com/coding/php/using-google-visualization-with-wkhtmltopdf

    <script type="text/javascript">
        function init() {
            google.load("visualization", "1.1", { packages:["corechart"], callback: 'drawCharts' });
        }

        function drawCharts() {
            drawAccountImpressions('chart-account-impressions');
        }

        function drawAccountImpressions(containerId) {
            var data = google.visualization.arrayToDataTable([
                ['Day', 'This month', 'Last month'],
                ['01', 1000, 400],
                ['05', 800, 700],
                ['09', 1000, 700],
                ['13', 1000, 400],
                ['17', 660, 550],
                ['21', 660, 500],
                ['23', 750, 700],
                ['27', 800, 900]
            ]);

            var options = {
                width: 700,
                height: 400,
                hAxis: { title: 'Day',  titleTextStyle: { color: '#333' } },
                vAxis: { minValue: 0 },
                curveType: 'function',
                chartArea: {
                    top: 30,
                    left: 50,
                    height: '70%',
                    width: '100%'
                },
                legend: 'bottom'
            };

            var chart = new google.visualization.LineChart(document.getElementById(containerId));
            chart.draw(data, options);
        }
    </script>
</head>

<body onload="init()">
    <div id="chart-account-impressions"></div>
</body>
 类似资料:
  • 问题内容: 我正在使用wkhtmltopdf将PDF文件转换为HTML文件;它提供了令人惊讶的良好结果,完全像WebKit那样呈现PDF。 我正在使用GoogleWeb字体使用户可以自定义他们编辑的文档的外观,从而使他们可以在几种字体之间进行选择。它也可以 在浏览器中 完美运行。 问题是,使用wkhtmltopdf将此类HTML文件转换为PDF时,我无法使用Google字体。我读过其他人也有同样的

  • 我编写了以下简单的C#控制台应用程序,用于从Excel工作簿导出所有图表。它工作正常,除非打开文档后图表没有滚动到,在这种情况下会生成一个空的图像文件。 我尝试了几次滚动到该对象的失败尝试;程序底部注释掉的行(

  • 问题内容: 我在理解如何利用docker的–format选项方面遇到一些困难。 例如,如果我运行“ docker images”,则会得到以下信息: 我想以JSON格式获取“ repo1”图像的结果。我找到了以下页面:https : //docs.docker.com/config/formatting/。对于“ json”示例,它提到使用“ go formatting”,但是提供的链接很难建立连

  • 我试图用谷歌应用程序脚本导出谷歌电子表格到JSON(或XML)。以下是我的谷歌表: 下面是我的谷歌应用程序脚本代码: 但是,当我部署JSON时,我没有得到任何JSON。 多谢,

  • 我试图用这个库创建一个pdf,实现最简单的de docs示例 使用url并直接从模板中呈现,如下所示 这是模板文件的 html 但是当我尝试访问url时,错误是这样的 /pdf/“NoneType”对象处的AttributeError没有属性“endswith” 我如何能修理它 这是回溯 回溯:get_response139.response=response中的文件“/usr/local/lib

  • 我试图从网页生成pdf,通过Centos OS上的java ProcessBuilder调用wkhtmltopdf。问题是,当我用一个main方法运行一个简单类时,进程终止于: 并创建一个空pdf文件(大小为0B) 我包含了一个方法,该方法打印我在类中调用wkhtmltopdf的参数,当我复制命令并在bash中运行它时,它工作并创建pdf。更重要的是:当我在windows中运行完全相同的类时,它运