1

2x2のテーブルセルでPDFを作成するWebアプリケーションでPDFをエクスポートするための次のコードがあります。

public static void myexport2() throws IOException{
    try {
        com.itextpdf.text.Document document = new com.itextpdf.text.Document(PageSize.A4);
        PdfWriter pdfWriter = PdfWriter.getInstance(document, new FileOutputStream("C://Users/gkarapatis/Desktop/testpdf.pdf"));
        document.open();
        document.addAuthor("Author of the Doc");
        document.addCreator("Creator of the Doc");
        document.addSubject("Subject of the Doc");
        document.addCreationDate();
        document.addTitle("This is the title");
        HTMLWorker htmlWorker = new HTMLWorker(document);
        String str="<table height=300, border=\"1\"><tr><td></td><td></td></tr><tr><td>1</td><td></td></tr></table>"     

        htmlWorker.parse(new StringReader(str));
        document.close();
    } catch(DocumentException e) {
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

HTMLセルにギリシャ文字を追加すると、エクスポート中のPDFファイルにギリシャ文字が表示されません。Unicodeをエクスポートに追加するにはどうすればよいですか。HTMLWorkerの問題ですか?

セルに画像を追加しようとすると、

img src=\"file://C:/Webapp/dsp/public/images/dsp1.jpg\" width=\"80\" height=\"81\" alt=\"\" border=\"0\"

それは私に例外を投げます。Play Frameworkを使用していますが、スローされる例外は「InvocationTargetExceptionが発生しました:null」です。

4

1 に答える 1

0

PdfPTableを使用してテーブルを作成する方が良い限り、セルごとにセルを追加するのと同じようにセルを作成する方が簡単です(各セルはPdfPCellです).2つの問題について

  1. 特定のフォントを使用してギリシャ文字を表示します。Unicode として埋め込むので、Arialuni.ttf を使用して試してください。次に、特定のフォントが見つかった場合はそれを使用します。
  2. セルに画像を追加するのもPdfPCellのaddメソッドを使うだけで簡単です。実装用のフォントを作成するには、BaseFontクラスを使ってフォントを作成する必要があります。コードポイント(Unicode)で表されるグリフが見つかりません。

予想される出力の画像を添付していただければ、洞察を得ることができます。

于 2013-01-31T19:47:45.367 に答える