3

カスタム フォントを使用しようとしていますが、エラーは発生しませんが、考慮されていません。

Rectangle pageSize = basePdf.getPageSize(i);

PdfContentByte pdfContentByte = stamper.getOverContent(i);

// Use custom font
if (!FontFactory.isRegistered(FUTURA_LIGHT)) {
    FileHelper.copyFileFromAssetsToInternalStorage(mContext, FONT_PATH_IN_ASSETS);
    FontFactory.register(mContext.getFilesDir() + "/" + FONT_PATH_IN_ASSETS, FUTURA_LIGHT);
}
Font myFont = FontFactory.getFont(FUTURA_LIGHT);
BaseFont font = myFont.getBaseFont();

pdfContentByte.saveState();

pdfContentByte.stroke();
pdfContentByte.restoreState();
// Start to add text
pdfContentByte.beginText();
pdfContentByte.setFontAndSize(font, 6);
if (fontColor != null) {
    pdfContentByte.setColorFill(fontColor);
}

pdfContentByte.showTextAligned(PdfContentByte.ALIGN_CENTER, message, pageSize.getWidth() / 2, 40, 0);
pdfContentByte.endText();

確認したところ、フォントは実際に登録されていますが、PDF には適用されません。

4

2 に答える 2

0

たまたま見つけた、足してアクセントをつけようと思っていたらBaseFont.IDENTITY_H

これが私が変更した行です:

Font myFont = FontFactory.getFont(FUTURA_LIGHT, BaseFont.IDENTITY_H);
于 2013-07-11T16:44:08.507 に答える