You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PhantomJS从同一URL生成两种不同语言的PDF

如何生成同一临床试页面的葡语和英语PDF(PhantomJS版)

我来帮你搞定这个需求!因为页面的语言切换是靠点击右上角的PT/EN链接触发的JavaScript动作,默认的rasterize.js没法自动处理这种交互,所以我们得自定义一个脚本模拟点击操作,具体步骤如下:

步骤1:创建自定义渲染脚本

先新建一个名为lang-rasterize.js的文件,把下面的代码复制进去——这个脚本会帮我们完成页面加载、语言切换、等待内容更新再生成PDF的全流程:

var page = require('webpage').create();
var system = require('system');

// 检查命令参数是否正确
if (system.args.length !== 4) {
    console.log('用法:phantomjs lang-rasterize.js <目标URL> <输出PDF文件名> <语言选项>');
    console.log('语言选项:pt(葡萄牙语)、en(英语)');
    phantom.exit(1);
}

var targetUrl = system.args[1];
var outputFile = system.args[2];
var targetLang = system.args[3].toLowerCase();

// 设置视口大小,和你原来的命令保持一致
page.viewportSize = { width: 1200, height: 600 };

// 打开目标页面
page.open(targetUrl, function(status) {
    if (status !== 'success') {
        console.log('页面加载失败,请检查URL是否正确');
        phantom.exit(1);
    }

    // 等待初始页面完全加载(时间可根据实际情况调整)
    setTimeout(function() {
        // 选择对应的语言切换链接,模拟点击
        var langLinkSelector = targetLang === 'en' ? 'a[href="#en"]' : 'a[href="#pt"]';
        page.evaluate(function(selector) {
            document.querySelector(selector).click();
        }, langLinkSelector);

        // 等待语言切换后的页面内容更新完成(同样可调整等待时间)
        setTimeout(function() {
            page.render(outputFile);
            console.log(`PDF生成成功:${outputFile}`);
            phantom.exit();
        }, 3000); // 3秒等待时间,确保页面内容加载完毕
    }, 2000); // 初始页面加载等待2秒
});

步骤2:运行命令生成两种语言的PDF

现在就可以用这个自定义脚本分别生成两个版本的PDF了:

生成葡萄牙语版本

在终端里执行这条命令:

phantomjs lang-rasterize.js 'http://www.ensaiosclinicos.gov.br/rg/RBR-8c33jx/' RBR-8c33jx-pt.pdf pt

生成英语版本

再执行这条命令:

phantomjs lang-rasterize.js 'http://www.ensaiosclinicos.gov.br/rg/RBR-8c33jx/' RBR-8c33jx-en.pdf en

一些小提示

  • 脚本里的等待时间(2000和3000毫秒)可以根据页面实际加载速度调整,如果页面加载慢,就适当延长时间,避免内容没加载完就生成PDF。
  • 如果页面的语言链接结构有变化,记得用浏览器开发者工具检查一下右上角PT/EN链接的选择器,调整脚本里的langLinkSelector对应的内容。
  • 这个脚本不管页面默认是什么语言,都会切换到你指定的目标语言,通用性更强~

内容的提问来源于stack exchange,提问作者dtostes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:27:45