- ベストアンサー
acrobat8(standard)で図形を書いてその中を網かけ出来ますか?
acrobat8(standard)でpdf化した色んな図面に図形を書き加えて、その中を網かけすることは出来るのでしょうか? エクセルのオートシェイプ(パターン)で網かけするような感じで。 もしacrobatで出来ない場合、別の方法が何かあれば教えて頂けないでしょうか? 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No1です。 私もPDFのスクリプトはいじったことが無いのですが、試しにやってみました。 テストなので、条件を簡単にして、四角形の描画図形を対象としてその中にハッチング(45度の斜線)を描くというものです。 *ハッチングの線の太さと色は、四角形の枠の線の太さと色が踏襲されます。 *もとの四角形はハッチングに置き換えられた後、消去されます。 イメージとしては、ハッチングしたいところに四角形を描いておいて、スクリプトを実行するとハッチングに変わるというもの。 実際に使用するには、ハッチングに変えたくない四角形がある場合も考慮して、何か識別できる方法を考えないとならないかも。 こんな方法で、横縞や縦縞あるいは斜めのハッチングその他も可能だと思われます。実験して見て、いまいちだったのが、線の太さが細くならないこと。プロパティでは0.1ポイントなどになっていても、見た目はあまり細く見えません。(←このへんは、研究不足) Acrobat7.0でできましたので、8.0でも可能(もっといろいろできるかも)と思います。 以下、ご参考までに。 var obj=this.getAnnots(); if (obj){ for (var i=0; i<obj.length; i++){ if (obj[i].type=='Square') hach(obj[i]); } } function hach(o){ var aug = 10; //ハッチングピッチ var x, x1, y1, x2, y2; var xy=o.rect; x=xy[0]+xy[1]-xy[3]+aug; while (x<xy[2]){ x1=x; y1=xy[1]; x2=x1-xy[1]+xy[3]; y2=xy[3]; if (x1<xy[0]) {y1+=xy[0]-x1; x1=xy[0];} if (x2>xy[2]) {y2+=xy[2]-x2; x2=xy[2];} this.addAnnot({ type: "Line", page: o.page, strokeColor: o.strokeColor, width: o.width, arrowBegin: 'None', arrowEnd: 'None', points: [[x1,y1],[x2,y2]], }); x+=aug; } o.destroy(); }
その他の回答 (2)
- fujillin
- ベストアンサー率61% (1594/2576)
No1です。 ちょいと探してみましたが、7.0ではハッチング的なものは用意されていないみたいです。 どうしてもというのであれば、Acrobatはjavascriptが使えるようなので、作成した図形の範囲をハッチングで埋める(=線で描画する)ものを作成してしまえばできますね。(手でチマチマやってもできるけど、しんどすぎる) 興味があれば、以下あたりがとっかかりになるかと… http://www.openspc2.org/reibun/Acrobat7/ http://www.adobe.com/jp/support/products/pdfs/acrojs_j.pdf
お礼
またまたありがとうございます。 早速さらっととっかかりの資料を見ました。 この手のことは全くやったことがないので目が回りそうでした。 これだっという例文があればいいんですが、もう少し読んでみます。 どこかにばっちりの例文ないかな~
- fujillin
- ベストアンサー率61% (1594/2576)
Acrobat7.0ですが、おおむね同様のことが可能ですので、8でも可能と思われます。 1)描画ツールで適当な形を作る(多角形など) 2)プロパティで線と塗り色などを設定 3)必要に応じて、透明度を設定 で、ほぼ同様の効果が得られませんか? (パターンやグラデーションはないみたいですが…) *)注釈を印刷する設定にしておかないと、このオブジェクトは印刷されません。
お礼
早速の御回答ありがとうございます。 私の質問の仕方が悪かったようです。 多角形などを描いて、塗りつぶしや透明度の設定はできるのですが、 斜めのハッチングや縦縞、横縞などのパターンを設定したいのです。 回答にもあるように私の望む設定はやはりacrobatでは無理なのでしょうか。何か他に方法はないのでしょうか。 せっかく御回答頂いたのに申し訳ございません。
お礼
fujillin様 どうもお礼が遅くなりまして申し訳ございません。 頂きました内容で私もやってみます。 でも、作成頂いたスクリプトをみただけでもかなりのものですね。 こんなところまでして頂いて申し訳ありませんでした。