• 締切済み

PDFファイルにナンバリングしたい

こんにちは。 数百ページで1ファイルのPDFファイルがあって、その画像の右上にナンバリングをしたくて、インターネットで見つけたコードを改良したのですが、私の打ちたいナンバリングになりません。 見つけたコードは以下のとおりです。 for (var i=0; i < numPages; i++){ removeField ('paging.'+i); var aRect = this.getPageBox('Crop', i); var dX = aRect[2] - aRect[0]; var numPos = [dX-150,1630, dX-10, 10]; var f = addField({ cName: 'paging.'+i, cFieldType: 'text', nPageNum: i, oCoords: numPos }); f.value = '00' + (i + 1); f.fillColor = color.transparent; f.readonly = true; f.strokeColor = color.transparent; f.alignment = 'right'; f.textFont = font.Helv; f.textSize = 11; }; 上記のコードですと 1 2 3 ・ ・ 99 100 となるのですが、私の打ちたい表記は 001 002 003 ・ ・ 099 100 ・ ・ なんです。 いろいろ試してみたのですが、素人なもので、うまく行きません。 どなたか、ご教授いただければ幸いです。 よろしくお願い申し上げます。

  • yarou
  • お礼率70% (26/37)
  • Java
  • 回答数3
  • ありがとう数3

みんなの回答

  • gahahei
  • ベストアンサー率13% (3/22)
回答No.3

プログラム見ずにこんなこと書くのもなんですが・・・ 単純にlength取って足りない分に0追加したら駄目ですか? 意図する回答でない場合すみません><;

  • shige117
  • ベストアンサー率27% (108/398)
回答No.2

数値として扱うと 00+2=2 キャラクタとして扱うと ’00’+’2’=’002’ 右から3桁を指定すると’002’ ’00’+’85’=’0085’ 右から3桁を指定すると’085’となります。 手元にプログラムの文法書がないので、細かくプログラムを教えることが出来なくて済みません。

  • shige117
  • ベストアンサー率27% (108/398)
回答No.1

f.value = '00' + (i + 1); 私はもっと素人ですが、これって数値として扱ってませんか? キャラクタとして扱って、常に右から3桁を取り出すようにしたらいかがでしょう?

yarou
質問者

補足

おはようございます。早速の回答ありがとうございます。 しかしながら、shige117様のおっしゃっていることも理解できない位素人です(泣)。 「常に右から3桁を取り出す処理」を調べたいと思います。(おわかりになるようでしたら、教えていただけると大変ありがたいです。) ありがとうございました。

関連するQ&A

  • Javascript; フィールドの属性変更

    作成したフォームに対してJavaScriptでの処理を行おうとしています。 セットした社名やDB検索した値の属性変更をしたいのですが、下記エラーが表示されます。 どのような対策がございますか? SCRIPT5007: プロパティ 'readOnly' の値を設定できません: オブジェクトは Null または未定義です。 SCRIPT5007: プロパティ 'onchange' の値を設定できません: オブジェクトは Null または未定義です。 下記のJavaScriptでの処理を行おうとしています。 function SetEvent() { document.getElementById("CompanyTextBox").readOnly="readonly";  //ここで、エラーになります。 //DB検索処理........ //配列 var counter = 0; var code = new Array(); for (var i = 0; i <10; i++) { code[i] = new Array(); code[i][0] = 'TextBox' + ((i * 4) + 1); code[i][1] = 'TextBox' + ((i * 4) + 2); document.getElementById(code[i][1]).readOnly="readonly"; //ここで、エラーになります。 } //検索結果のセット do { var elem = document.getElementById(code[counter][0]); elem.onchange = function(event) //ここで、エラーになります。 ・ ・ counter++; } while(counter < 10) }

  • このJavaScriptを外部ファイルにしたいのですが

    下記のjavascript部分を外部ファイルにしてすっきり させたいのですが方法がわかりません。 どなたかよろしくお願いします。 <head> <script type="text/javascript"> <!-- var txt = new Array(4); txt[0] = "ホームページへようこそ!!"; txt[1] = "4月になりました"; txt[2] = ""; txt[3] = "お車は駐車場へ入れましょう。"; var speed1 = 50; var speed2 = 300; var i = 1; var k = 0; var j = 0; var tID1,tID2; var nai; function txtScr(){ if(k >= txt.length){k = 0;} nai = txt[k].substring(0,i); document.formd.denkou.value = nai; i++; if(i > txt[k].length){ i = 0; k++; } if(i == 0){ clearTimeout(tID1); Scr(); }else{ tID1 = setTimeout("txtScr()",speed1); } } function Scr(){ document.formd.denkou.value = nai.substring(j,nai.length); j = j + 1; tID2 = setTimeout("Scr()",speed2); if(j > nai.length){ j = 0; clearTimeout(tID2); txtScr(); } } //--> </script> </head> <body onLoad="txtScr();"> <form name="formd" action="index.html" STYLE="margin: 4px;"> <noscript class="red"> JavaScriptの表示を有効にするか<br> JavaScript対応ブラウザで見てください。<br> </noscript> <input type="text" name="denkou" value="お知らせ" size="60%" tabindex="6" accesskey="f" style="background-color:#ccffcc;color:#333333;border:0px none #ffffff;font-size:22px;font-weight:bold;"> </form>

  • このコードに間違いはありますか?

    (1)$tempWord = "<"."TABLE".">"; (2)$tempWord+="<set name=\'".$i."\' value=\'".$ic2."\' color=\'AFD8F8\'/>"; (3)$tempWord+="</graph>"; (4)echo "</table>"; これらの代入を(1)が終わったら下の命令、(2)が終わったら下の命令 var_dump($tempWord); echo $tempWord; といった感じで、変数の内容をHTMLに出力しているのですが、 (1)のとき、var_dumpの結果はString(7)=""、echoに至っては何も表示されません。 同様にvar_dumpの結果はバイト数のカウント自体は正常に表示されるのですが、変数の内容については""と表示されるだけです。 一見、コードの間違いを発見できません。 おかしい点があったら教えてください。 これらのコードを実行すると、

    • 締切済み
    • PHP
  • 極小コードに挑戦!part2 数列を漢数字表記で!

    前回のカレンダーが 便利というわけではないが・・・ と思われてしまったので、実用的かもしれないお題で! もちろんアルゴリズムは問いません。 ○ 1111 千百十一  × 1111 一千一百一拾一 数列を漢数字表記に変換するコードを匠の技で見せてください!^^; 不可思議とかまでいっちゃってもOK! <html> <script> alert(kansuji('12345678901234')); function kansuji(num){ var k = ' 一 二 三 四 五 六 七 八 九'.split(' '); var t = ' 十 百 千'.split(' ') var u = ' 万 億 兆 京'.split(' '); var m = num.length; var r = ''; var c = 0; var f = 0; for(var i=0;i<m;i++){ n=num.substr(m-i-1,1); if(c>3) {c=0;t[0]=u[++f];} r=((c && n==1)?'':k[n])+t[c]+r; c++; } return r; } </script>

  • Greasemonkeyで背景色を全て指定色に変更

    FirefoxのGreasemonkeyで全てのページの背景色を指定色にしたいのですがどうしたら良いのでしょうか? 白色を指定色に変えるコードは以下の通りなのですが、 全ての色を指定色に変えるようにするにはどうしたら良いでしょうか? ------------------------------------------------------------- var everything = document.getElementsByTagName("*"); var bgcolor = []; for(var i=0; i<everything.length; i++) { bgcolor[i] = document.defaultView.getComputedStyle(everything[i], "").getPropertyValue("background-color"); if( bgcolor[i] == "rgb(255, 255, 255)" || bgcolor[i] == "rgb(250, 250, 250)" ) { everything[i].style.backgroundColor = "#C2C7CF"; } } ------------------------------------------------------------- 以上です。 よろしくお願い致します。

  • 【Javaxcript CSS】擬似フレームサイズをマウスで変更したい

    擬似フレームのサイズをマウスで変更したいです。 以前「CSSで指定したwidthをマウスで変更したい」 (http://oshiete1.goo.ne.jp/qa3849904.html) で質問し、頂いたズバリ回答(以下)で実現できるのですが、使っているとマウスが時々くっついてしまいます。 これは、しょうがない問題と諦めていたのですが、なんとかならないものでしょうか? <html> <head> <style type="text/css"> #f1 { float:left; width:20%; overflow: auto; background-color : #ffd2ff; } #f2 { float:right; width:80%; background-color : #e0fef8; } #space { float:left; width:5px; background-color : #ffffff; cursor:E-resize; } </style> </head> <body> <script> window.onload = function(){ var Drag = 0, i = function(id){ return document.getElementById(id) }; i('space').onmousedown = function(){ Drag = 1; } document.onmouseup = function(){ Drag = 0; } document.onmousemove = function(e){ if(!Drag){ return false; } var ev = window.event || e; var W = document.body.offsetWidth || document.documentElement.offsetWidth; var L = parseInt( ev.clientX/W *100, 10); var R = 100 - L; if(L >1 && R > 1){ i('f1').style.width = L + '%'; i('f2').style.width = R + '%'; } } } </script> <div id="f1">f1</div> <div id="f2"> <div id="space">&nbsp;</div> f2</div> </body> </html>

  • キャラクターコード表を出力させたいのですがasc(0x41)でAとなるような関数はjavascriptであるのでしょうか?

    キャラクターコード表を出力させたいのですがasc(0x41)でAとなるような関数はjavascriptであるのでしょうか? http://hp.vector.co.jp/authors/VA008536/data/ascii.html <script type="text/javascript"> <!-- var s = ''; for (var i=0x20; i<0x7f; i++){ s += [関数?] } document.write(s); // --> </script>

  • javascriptの2次元配列をソートの仕方

    function word_grouping(data) { var code = data; //先頭についている”code="を除去 code = code.replace("code=",""); var = code.split(","); var alpha =new Array(); alpha = ['A','B','C','D','E','F','G','H','I','J','K','L','M']; //2次元配列作成 var array = new Array(); for (i =0; i < alpha.length; i++) { array[i] = [' ','0']: } //グループ名を格納 for( i = 0; i <alpha.length; i++){ array[i][0] = alpha[i] //0番目の項目から順番にグループごとに分ける for( i = 0; i < sp.length; i++){ group = sp[i].substring(0.1); //どのグループに所属しているか調べる for( j = 0; j < alpha.length; j++){ //一致したグループの配列にカウント+1していく if(group == array[j][0]{ array[j][1]++; } } } メモ ・spにはグループのどこかに所属する20個のキーワードが入っていてそれをグループに振り分けている ・グループ分けには”A001”のAだけみて振り分けています したいこと ・arrayに入ったキーワードの数を降順で並び替えたい 分からない所 ・2次元配列をsortする仕方 こんな感じなんです わかる方回答お願いします。

  • ▲▲JavaScriptに詳しい人見てください▲▲

    一度に出題される10問が全て異なる問題になるような計算練習プログラムをつくる課題がでました>< ・ 問題作成時,正解だけではなく問題も保存するようにする. (保存のしかたにはさまざま形がある.どのような形でもよい.) ・ 新たに問題を作成したとき,保存されている「既に存在している (出題されている) 問題」と比較し, 同じものがあれば (新しいものになるまで) 作り直す. というヒントがあります・・ 一度書いてみましたが・・ <title>計算練習プログラム(3)</title> <h1>計算練習プログラム (3)</h1> <form name="f"> <table border> <tr><td>番号</td><td>問題</td><td>解答</td><td>正誤</td></tr> <script type="text/javascript"> <!-- // 変数・関数の定義. var i, n, m; n = new Array(11); m = new Array(11); var questions = new Array(); //問題の組み合わせを記録する function myRandom(n) { return Math.floor(Math.random() * n); } for(i=1; i<=10; i++){ do { n[i] = myRandom(10) + 1; m[i] = myRandom(10) + 1; }while( questionCheck(n[i],m[i]) ) document.writeln('<tr><td>' + i + '</td><td>' + n[i] + ' + ' + m[i] + ' =</td>'); document.writeln(' <td><input type="text" name="a' + i + '" size="3"></td>'); document.writeln(' <td><input type="text" name="c' + i + '" size="3" readonly></td></tr>'); } function check() { var i, ok=0, ng=0; // i: for の制御変数, ok: 正答数, ng: 誤答数. for (i=1; i<=10; i++) { if (Number(document.f.elements["a" + i].value) == n[i]+m[i]) { document.f.elements["c" + i].value = "○"; ok++; } else { document.f.elements["c" + i].value = "×"; ng++; } } document.f.ok.value = ok; document.f.ng.value = ng; } function questionCheck(n,m) { //問題が被っていたらtrueを返す var i; //i:ループ用 var mn = ""+n+m; //mn:nとmを文字列にしたもの for(i=0;questions[i]!==undefined;i++) { if(mn == questions[i]) { //問題が被ったら return true; } } questions[i] = mn; return false; } // --> </script> </table> <input type="button" value="答え合わせ" onclick="check();"> <!-- イベントハンドラ check() を呼び出す.--> 正答数:<input type="text" name="ok" size="3" readonly> 誤答数:<input type="text" name="ng" size="3" readonly> </form> 先生からのコメントは >一応できていますが,せっかく,n, m を配列にして,問題の数値を保存するようにしたのに,別途 questions を用意して,そちらを使うようにしているので,ややちぐはぐな印象を受けます. ということでした・・ n, m を配列にして、問題の数値を保存するようにして、そのあとどうしたらいいのでしょうか よろしくお願い致しますっ

  • html onchange

    下記のコードでf002は動きますが、f001が動きません。 scriptで作ったオプションメニューもonChangeが働くようにするには、いかがしたらよろしいでしょうか? <script language="JavaScript"><!-- function f001(){ if (document.test.s1.value==2) alert("2が入力されました"); } function f002(){ if (document.test.s2.value==2) alert("2が入力されました"); } var i,ht=[]; i=0; ht[i] = '<select onChange="f001()" id="s1" >'; for( var i=1; i<=5;) ht[i] = '<option value='+(i)+(i==1?' selected':'')+'>'+(i++)+'</option>'; ht[i] = '</select>'; document.write('s1 =', ht.join('')); // --></script> <form name="test"> s2 = <select onChange="f002()" id=s2> <option value=1 selected>1</option> <option value=2>2</option> <option value=3>3</option> <option value=4>4</option> </select> </form>

専門家に質問してみよう