2016-07-07 42 views
0

私は「ここをクリック」という文字列のテキストPDFを持っています。 PDFBoxを使用したURLで「ここをクリック」を置き換えるにはどうすればよいですか? 更新された(または新しい)PDFで置換後、クリックして青色でクリックできます。PDFBOXで文字列をURLで置き換える方法は?

+0

私はおそらく、上記の調査に基づいていくつかのコードを試してから実際の問題があるときに質問を投稿することから始めます。 – rmlan

+1

PDFファイルは実際にはそのような本当の機能を持っているわけではありません.Javascriptを使っていくつかのハッキングを行うことができると推測していますが...疑わしいことですが、ドキュメント構造を酷く酷使しています。あなたの現在の仕事/目標に間違ったメディアを使用しています。代わりに簡単なウェブサイトを作成することを検討してください。 PDFファイルは**ドキュメント**ですが、フォームデータを記入するか署名する以外は、実際には* do * *のものを使ってはいけません。 – specializt

答えて

1

これは、ソースコードのダウンロードからAddAnnotations.java exampleからである:あなたの明らかに、「ここをクリック」とxスケーリング係数とフォントの座標を知っておく必要があります

 PDBorderStyleDictionary borderULine = new PDBorderStyleDictionary(); 
     borderULine.setStyle(PDBorderStyleDictionary.STYLE_UNDERLINE); 
     borderULine.setWidth(1); 

     PDAnnotationLink txtLink = new PDAnnotationLink(); 
     txtLink.setBorderStyle(borderULine); 

     // Set the rectangle containing the link 
     textWidth = font.getStringWidth("Click here")/1000 * xscale; 
     position = new PDRectangle(); 
     position.setLowerLeftX(...); 
     position.setLowerLeftY(...); 
     position.setUpperRightX(...); 
     position.setUpperRightY(...); 
     txtLink.setRectangle(position); 

     // add an action 
     PDActionURI action = new PDActionURI(); 
     action.setURI("http://pdfbox.apache.org"); 
     txtLink.setAction(action); 

     annotations.add(txtLink); 

。 PDFでは(0,0)は左下です。 1単位= 1/72インチ。自分でファイルを生成するのが最も簡単です。既存のファイルの場合は、PDFDebuggerを使用してファイルを解析するか、試行錯誤を繰り返す必要があります。

+0

ありがとう、私は今どのように動作するか理解しています。私は素朴だった、私は発見されたテキストの位置を与えるためにPDF/PdfBox関数があると思った... – kaw

+0

いいえ(そしてあなたは尋ねなかった)。 "[(Cl)-29(i)-1(ck)30(here)]] TJは、コンテンツストリームに" Click Here "という文字列が含まれていることを確かめることはできません。 ' –

関連する問題