gpt4 book ai didi

java - 使用 PrintedPdfDocument 渲染带有表情符号的 PDF

转载 作者:行者123 更新时间:2023-12-02 10:52:11 28 4
gpt4 key购买 nike

我正在使用Android的内置PrintedPdfDocument使用 Canvas 绘制 PDF,如 this 中所述文档的示例代码:

private void drawPage(PdfDocument.Page page) {
Canvas canvas = page.getCanvas();

// units are in points (1/72 of an inch)
int titleBaseLine = 72;
int leftMargin = 54;

Paint paint = new Paint();
paint.setColor(Color.BLACK);
paint.setTextSize(36);
canvas.drawText("Test Title", leftMargin, titleBaseLine, paint);

paint.setTextSize(11);
canvas.drawText("Test paragraph", leftMargin, titleBaseLine + 25, paint);

paint.setColor(Color.BLUE);
canvas.drawRect(100, 100, 172, 172, paint);
}

是否可以在此文档中添加表情符号文本?我不知道如何设置字符集/编码。

每当我尝试添加表情符号输出时,它都会在 pdf 中显示乱码。

这是保存 pdf 的代码:

mPdfDocument = new PrintedPdfDocument(context, printAttributes);
mCurrentPage = mPdfDocument.startPage(1);
Canvas canvas = mCurrentPage.getCanvas();
... // add stuff to canvas
mPdfDocument.finishPage(mCurrentPage);
FileOutputStream fos = new FileOutputStream(new File(path));
mPdfDocument.writeTo(fos);
fos.close();

谢谢!

最佳答案

我得到了答案。这是一些示例代码:

Typeface typeface = Typeface.createFromAsset(context.getAssets(), "fonts/OpenSansEmoji.ttf");
paint.setTypeface(typeface);

您可以找到 OpenSansEmoji.ttf 字体 here或者找到其他表情符号字体。

将此文件放入 Android 项目的 asset/fonts 文件夹中。

关于java - 使用 PrintedPdfDocument 渲染带有表情符号的 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52082449/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com