在Android

时间:2016-09-21 07:54:19

标签: android unicode

我试图使用android使用以下代码生成PDF文件。 此PDF文件可能包含英文和中文字符。 中文字符不被识别为中文字母(转换为图像),但英文字母可以。

此问题的解决方法是什么?

public void generatePDFDoc(Activity activity,View view,String pdfFileName){

    {
        File pdfFile = null;
        PrintAttributes printAttrs = new PrintAttributes.Builder().
                setColorMode(PrintAttributes.COLOR_MODE_COLOR).
                setMediaSize(PrintAttributes.MediaSize.NA_LETTER).
                setResolution(new PrintAttributes.Resolution("print", activity.PRINT_SERVICE,
                        25, 25)).
                setMinMargins(PrintAttributes.Margins.NO_MARGINS).
                build();

        PdfDocument document = new PrintedPdfDocument(activity, printAttrs);
        View content = view;
        int width = content.getWidth();
        int height = content.getHeight();
        PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(width, height, 1).create();
        PdfDocument.Page page = document.startPage(pageInfo);
        content.draw(page.getCanvas());
        document.finishPage(page);
        try {
            pdfFile = new File(pdfFileName);
            if (pdfFile != null) {
                FileOutputStream os = new FileOutputStream(pdfFile);
                document.writeTo(os);
                document.close();
                os.close();
            }
        } catch (Exception e) {
            throw new RuntimeException("Error generating file", e);
        } finally {
            if (pdfFile != null) {
                //Success Generate PDF file

            }
        }


    }
}

0 个答案:

没有答案