Android PdfDocument文件大小 [英] Android PdfDocument file size

查看:379
本文介绍了Android PdfDocument文件大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用KitKat中引入的PdfDocument android类从View生成PDF文件.我设法做到了,到目前为止文件已经生成好,最终得到了正确的PDF.唯一的问题是文件很大,仅一页就可达到12Mb.有没有办法减小文件大小?

I want to generate a PDF File from a View using the PdfDocument android class introduced in KitKat. I managed to do it, and the file is so far generated ok, ending up having a correct PDF. The only problem is the file is huge, 12Mb for just one page. Is there a way to reduce the File size?

我用来生成PDF的代码是:

The code I am using to generate the PDF is:

public static File generateDocument(Activity activity, String fileName, ViewGroup container) throws IOException{
    File f = new File(activity.getExternalFilesDir(null), fileName);
    PdfDocument document = new PdfDocument();
    try{
        for(int i=0;i<container.getChildCount();i++){
            View v = container.getChildAt(i);
            PdfDocument.PageInfo.Builder pageBuilder = new PdfDocument.PageInfo.Builder(v.getWidth(), v.getHeight(), i);
            Page page = document.startPage(pageBuilder.create());
            v.draw(page.getCanvas());
            document.finishPage(page);
        }

        document.writeTo(new FileOutputStream(f));
    } finally{
        if(document!=null){
            document.close();
        }
    }
    return f;
}

推荐答案

有一些主要因素会增加PDF文件的大小:

There are a few main things that increases the size of a PDF file:

hi-resolution pictures (where lo-res would suffice)
embedded fonts (where content would still be readable "good enough" without them)
PDF content not required any more for the current version/view (older version of certain objects)
embedded ICC profiles
embedded third-party files (using the PDF as a container)
embedded job tickets (for printing)
embedded Javascript
and a few more

尝试使用iText.以下链接为android中的iText提供了基本概念.

Try using iText. Following links give a basice idea for iText in android.

http://technotransit.wordpress.com/2011/06/17/using-itext-in-android/

http://www.mysamplecode.com /2013/05/android-itext-pdf-bluetooth-printer.html

https://stackoverflow.com/a/21025162/3110609

这篇关于Android PdfDocument文件大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆