SharePrinterActivity.java 文件源码

java
阅读 33 收藏 0 点赞 0 评论 0

项目:android-print-plugin-cups 作者:
@Override
public void onWrite(final PageRange[] pageRanges,
                    final ParcelFileDescriptor destination,
                    final CancellationSignal cancellationSignal,
                    final WriteResultCallback callback)
{
    if (pageRanges.length == 0 || !(
        pageRanges[0].getStart() <= 0 && pageRanges[0].getEnd() >= 0 ||
        pageRanges[0] == PageRange.ALL_PAGES))
    {
        Log.d(TAG, "Saving PDF failed - no valid page range");
        return;
    }

    if (cancellationSignal.isCanceled())
    {
        callback.onWriteCancelled();
        pdf.close();
        pdf = null;
        return;
    }

    PdfDocument.Page page = pdf.startPage(0);
    drawPage(page);
    pdf.finishPage(page);

    Log.d(TAG, "Saving PDF");
    try
    {
        pdf.writeTo(new FileOutputStream(destination.getFileDescriptor()));
        Log.w(TAG, "Saving PDF succeeded");
    } catch (IOException e) {
        Log.w(TAG, "Saving PDF failed: " + e.toString());
        callback.onWriteFailed(e.toString());
        return;
    } finally {
        pdf.close();
        pdf = null;
    }
    callback.onWriteFinished(new PageRange[]{ new PageRange(0, 0) });
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号