我想构建一个pdf,它能够检测打开它的用户的操作系统,从而根据访问pdf的操作系统提供不同的信息。
我很难找出我需要使用的js来完成看似简单的任务。我不能使用它,因为它是一个浏览器变量:
let platform = navigator.platform;
我对Web很熟悉JavaScript,可以解决大多数问题,但我也很难找出如何在JS中使用适当的方法来处理PDF JS。
所以我的问题是,有人能告诉我用JavaScript在PDF中访问操作系统信息的正确方法吗?(因为我认为这是唯一可能的方式)请您提供一些代码示例,我将如何从文档中包含的代码编写PDF文件?
例如,一个用户打开pdf,他们在一个windows/mac/linux设备上,所以它说,“欢迎从windows/mac/linux”。
更新
这是我提出的使用adobe api的js。正如我所问的那样,我如何写入正在打开的实际文档,这样我就不必打开第二次报告了?有一个doc对象,但是输出不是简单的文本,它被某种类型的有色元素包围。
以下是可以工作但打开辅助文档的报表版本:
var rep = new Report();
rep.size = 1.2;
rep.color = color.black;
switch(app.platform.toString()){
case "WIN":
rep.writeText("Hello from Windows!");
break;
case "MAC":
rep.writeText("Hello from Mac!");
break;
case "UNIX":
rep.writeText("Hello from Unix!");
break;
default:
rep.writeText("Hello from...maybe solaris?");
break;
}
// open created report
var docRep = rep.open("welcome.pdf");
docRep.info.Title = "Custom Title";
这是写入页面的版本,但不只是纯文本,而且是可编辑的,我不希望这样:
var fieldName = "welcome";
var inch = 100;
var fvalue = this.addField(fieldName, "text", 0, [inch*4,inch*5,inch*2,inch*3]);
switch(app.platform.toString()){
case "WIN":
fvalue.value = "Hello from Windows!";
break;
case "MAC":
fvalue.value = "Hello from Mac!";
break;
case "UNIX":
fvalue.value = "Hello from Unix!";
break;
default:
fvalue.value = "Hello from...somewhere else";
break;
}