- - PR -
PDFファイル内容の日本語文字表示が出来るように方法?。
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-10-21 15:55
すみませんが、
●質問;PDF内容で英語文字書いた("A.PDF")は出力しましたけど、 日本語PDF内容で("B.PDF")のみは出力しませんでした 日本語文字が表示になる方法を教えてください。 ●ソース PROGRAM import com.adobe.acrobat.*; import com.adobe.acrobat.sidecar.*; import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class testacrobat extends JFrame { private MyCanvas meinCanvas = new MyCanvas(); private Image meinImage; private int x = 400; private int y = 400; private int page = 0; private PDFDocument doc; private FloatPoint cropBoxSize; public testacrobat() { try { doc = new PDFDocument(new File("B.pdf")); cropBoxSize = doc.getPageSize(page); jbInit(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { testacrobat testacrobat1 = new testacrobat(); } private Image createImageFromPDF(Component anyComponent, int width, int height) { try { float hScale = (float) ((width) / cropBoxSize.x); float vScale = (float) ((height) / cropBoxSize.y); float scale = (float) Math.max(hScale, vScale); AffineTransform transform = new AffineTransform(hScale, 0, 0, vScale, 0, 0); int h = (int) (cropBoxSize.y * vScale); int w = (int) (cropBoxSize.x * hScale); Image img = anyComponent.createImage(w, h); -----> doc.drawPage(page, img, transform, null, anyComponent); return img; } catch (Exception e) { e.printStackTrace(); } return null; } private void jbInit() throws Exception { this.show(); setSize(410, 410); this.addComponentListener(new java.awt.event.ComponentAdapter() { public void componentResized(ComponentEvent e) { this_componentResized(e); } }); meinImage = createImageFromPDF(this, x, y); this.getContentPane().add(meinCanvas, 0); WindowAdapter adapter = new WindowAdapter() { public void windowClosing(WindowEvent event) { System.exit(0); } }; this.addWindowListener(adapter); this.pack(); } void this_componentResized(ComponentEvent e) { y = e.getComponent().getHeight(); x = e.getComponent().getWidth(); meinImage = createImageFromPDF(this, x, y); } public class MyCanvas extends Canvas { public Dimension getMinimumSize() { return new Dimension(100, 100); } public Dimension getPreferredSize() { return new Dimension(x, y); } public void paint(Graphics g) { g.drawImage(meinImage, 0, 0, x, y, new Color(0, 0, 0), null); } } } |
|
投稿日時: 2005-10-23 22:13
こんばんは。どこがわからないのでしょうか?
具体的に記述していただけないと、レスはつきにくいと思いますよ。 英字のPDFは表示(出力?)できるのでしたら、 マルチバイト形式にコンポーネントが未対応、もしくはコンポーネント自体に バグがあるのではないでしょうか? どちらにしても、マルチバイトに対応できるように処理を 追加しなければいけなさそうですが・・・ |
|
投稿日時: 2005-10-23 22:25
http://www.vc-net.ne.jp/~ytp/bbs/java/bbs24454.html
こちらの情報を参考にされてみては如何でしょうか。 |
1