![](/img/trans.png)
[英]How can I rewrite this javascript code, so that it will refer to every optionbox?
[英]How to rewrite a code, so i can run it on Acrobat?
我想在.pdf文件中创建条形码。 我在网上搜索并找到以下javascript代码,但这在Adobe Acrobat DC中似乎不起作用。 那么,如何才能重写此代码,以使该代码在Adobe Acrobat DC上运行?
var rawData = this.getField("Sendungeins").valueAsString;
var out = this.getField("Barcodeeins");
function getBarcode(rawData) {
var offset = 32;
var highAscii = 18;
var newCodeString = new Array(rawData.length + 3);
newCodeString[0] = offset + highAscii + 104;
var total = 104;
for(var stringCounter = 0 ; stringCounter < rawData.length ; stringCounter++) {
var character = rawData.substr(stringCounter, 1);
var ASCIIValue = character.charCodeAt(0);
var checkDigit = ((ASCIIValue - offset) * (stringCounter + 1));
total += checkDigit;
newCodeString[stringCounter + 1] = ASCIIValue; }
var check = total % 103;
var holder = 0;
if(check + offset >= 127) { holder = check + offset + highAscii; }
else { holder = check + offset; }
newCodeString[newCodeString.length - 2] = holder;
holder = 106 + offset + highAscii;
newCodeString[newCodeString.length - 1] = holder;
for(var rCounter = 0; rCounter < newCodeString.length ; rCounter++) {
if(newCodeString[rCounter] == 32) { newCodeString[rCounter] = 128; } }
return getBarcodeText(newCodeString);
}
function getBarcodeText(codeString) {
var returnVal = "<p align = \"center\"style=\"font-size:16.0pt;mso-bidi-font-size:16.0pt;font-family:Code128bWinLarge\">";
for(var counter = 0 ; counter < codeString.length ; counter++) {
var intValue = codeString[counter]; returnVal += "&#" + parseInt(intValue); } returnVal += "</P>";
return returnVal;
}
out.value = writeIn(getBarcode(rawData));
函数getBarcodeText(codeString)
的行为是绝对正确的。 但是,为HTML表单设置了returnVal
变量的初始值。
在PDF中,您可以在“字段属性”对话框中设置字段(文本)属性。 也就是说,您可以像这样初始化变量:
var returnVal = "" ;
在循环中,HTML脚本添加(十进制)字符代码,以“&#”开头。 此构造在Acrobat JavaScript中不可用。 您可以改用fromCharCode()
方法来获取字符,然后使用相应的字体正确显示该字符。
可能需要进一步修改,但这将使您更接近。 您可能出于调试目的,在app.alert()
对话框中显示值,或使用console.println()
将其写入控制台。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.