您的位置:首页 > 移动开发 > Android开发

Android文本保存成PDF格式

2017-12-07 11:37 357 查看
支持Android文本保存成PDF格式,Canvas画图保存JPG格式导出PDF格式,使用itextpdf-5.5.1.jar包

项目地址:http://download.csdn.net/download/weixin_40391500/10149234

1.保存JPG格式导出PDF格式

//创建pdf文档对象
Document document = new Document();
try {
//将文件输出流与pdf对象,进行关联
PdfWriter.getInstance(document, new FileOutputStream(FILE_DIR + "table.pdf"));
//打开文档
document.open();
Image img = Image.getInstance(FILE_DIR + "2.jpg");
img.setAlignment(Image.LEFT | Image.TEXTWRAP);
img.setBorder(Image.BOX);
img.setBorderColor(BaseColor.WHITE);
//            img.scaleToFit(weght, heigth);//大小
img.setAlignment(Element.ALIGN_CENTER);
document.add(img);
//关闭文档
document.close();

} catch (Exception e) {
e.printStackTrace();
}


2.保存成PDF格式

try {
File file = new File(FILE_DIR);
if (!file.exists()) {
file.mkdirs();
}
PdfDocument document = new PdfDocument();
/***宽 高 页数******/
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(612, 792, 1).create();
PdfDocument.Page page = document.startPage(pageInfo);

TextPaint textPaint = new TextPaint();
textPaint.setColor(Color.BLACK);
textPaint.setTextSize(16);
textPaint.setTextAlign(Paint.Align.LEFT);

Typeface textTypeface = Typeface.create(Typeface.MONOSPACE, Typeface.NORMAL);
textPaint.setTypeface(textTypeface);

String text = "测试";
StaticLayout mTextLayout = new StaticLayout(text, textPaint, page.getCanvas().getWidth(),
Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);

mTextLayout.draw(page.getCanvas());
document.finishPage(page);

File file1 = new File(file, "pdf_android.pdf");

try {
FileOutputStream mFileOutStream = new FileOutputStream(file1);

document.writeTo(mFileOutStream);
mFileOutStream.flush();
mFileOutStream.close();

} catch (Exception e) {
e.printStackTrace();
}
document.close();

} catch (Exception e) {
e.printStackTrace();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: