私はpdfの書式設定に問題があります。私はすでにpdfファイルにテキストを追加していますが、問題があります - 私はpdfがどのように見えるかわかりません。つまり、1つのテンプレートに複数のテンプレートがあり、1つのpdfには良い場所に追加されますが、別のテキストには重要な情報が含まれています。JavaでのPDFの書式設定
/**
* metoda dodaje podpis do pdf
* @param fileDokument
* @throws DocumentException
* @throws IOException
* @throws SQLException
*/
private void addSignatureToPdf(FileDokument fileDokument) throws DocumentException, IOException, SQLException {
java.util.Date dateToFind = Calendar.getInstance().getTime();
DecimalFormat df = new DecimalFormat("00");
DateTime dt = new DateTime();
int year = dt.getYear();
int month = dt.getMonthOfYear();
int day = dt.getDayOfMonth();
File f = new File(fileDokument.getFileNazwa());
String operator = produkt.getOperatorProwadzacyForRolaAndDate(dateToFind, 5).toString();
operator = operator.replaceAll("\\(.*\\)", "").trim();
PdfReader reader = new PdfReader(""+fileDokument.getFileNazwaFile());
int height = (int) reader.getPageSize(1).getHeight();
int width = (int) reader.getPageSize(1).getWidth();
int fontSize = getFontSizeAdjustingToScreenSize(height);
int marginCompatibility = getMarginCompatibilityAdjustingToScreenSize(width);
int heightBelow = getHeightBelowAdjustingToScreenSize(width);
File outFile = File.createTempFile("pismo_", ".pdf", MainApp.tmpDir);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(outFile));
BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ITALIC, codingType, false);
PdfContentByte over;
int total = reader.getNumberOfPages() + 1;
for (int a = 1; a < total; a++) {
stamper.setRotateContents(false);
over = stamper.getOverContent(a);
over.beginText();
over.setFontAndSize(bf,fontSize);
over.setTextMatrix(marginCompatibility, heightBelow);
over.showText("Za zgodność z oryginałem Radca Prawny " + operator + ", Wrocław, dnia " + df.format(day) + "-" + df.format(month) + "-" + year + "r. .................. (podpis)");
over.endText();
}
stamper.close();
MainApp.openFile(outFile);
}
私の考えでは、それが少し小さくし、常に空になり、任意のテキストをカバーしませんTextFieldを追加してPDFを拡張することです。助けたり、他のアイデアを教えてもらえますか?
ページ上の空き領域を見つけるために、スケーリングせず試してみたい場合は、[この回答](HTTP、それを呼び出す方法は次のとおりです。// stackoverflow.com/a/26503289/1729265)あなたに興味があるかもしれません。 – mkl
私はページの下部にテキストを追加することに興味があります。私はこのコードを修正して、テキストの下の空のフィールドを見つけようとしましたが、私の最初のアイデアよりも複雑に思えます。とにかくありがとう! – Michu93
その場合、[この回答](http://stackoverflow.com/a/34419296/1729265)をご覧ください。それはiTextSharpとC#用ですが、翻訳が容易でなければなりません。翻訳の助けが必要な場合は、そう言いなさい。 – mkl