Я хочу создать PDF-файл, способный определять операционную систему пользователя, который его открывает, и, таким образом, предоставлять различную информацию в зависимости от ОС, из которой осуществляется доступ к PDF-файлу.
У меня возникли проблемы с поиском JS, который мне нужен для выполнения простой задачи.Я не могу использовать это, потому что это переменная браузера:
let platform = navigator.platform;
Я достаточно хорошо знаю JavaScript для Интернета и могу решить большинство проблем, но у меня также возникают проблемы с выяснением, как использовать правильныеметоды в JS для PDF-JS.
Итак, мои вопросы, может кто-нибудь показать мне правильный способ доступа к информации об операционной системе в PDF с помощью JavaScript (потому что я думаю, что это единственный возможный способ)?И не могли бы вы привести несколько примеров кода того, как я мог бы писать в PDF из кода, содержащегося в документе?
Например, пользователь открывает PDF-файл, и он находится на устройстве Windows / Mac / Linux.поэтому он говорит: «Добро пожаловать из Windows / Mac / Linux».
Обновление
Вот JS, использующий API Adobe, который я придумал.Как я и спрашивал, как мне написать действительный открываемый документ, чтобы мне не нужно было открывать дополнительный отчет?Есть объект 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;
}