0

In print dialog " in the attached image", I want to active color option to edit text or something else before print the pdf ..

Can I also active the "two -sided" ?

How I can do it?

enter image description here

Adapter code:

`@Override
public void onLayout(PrintAttributes oldAttributes, PrintAttributes newAttributes, CancellationSignal cancellationSignal, LayoutResultCallback callback, Bundle extras) {
    if (cancellationSignal.isCanceled())
        callback.onLayoutCancelled();
    else
    {
        PrintDocumentInfo.Builder builder = new PrintDocumentInfo.Builder("file name");
        builder.setContentType(PrintDocumentInfo.CONTENT_TYPE_DOCUMENT)
                .setPageCount(PrintDocumentInfo.PAGE_COUNT_UNKNOWN)
                .build();
        callback.onLayoutFinished(builder.build(),!newAttributes.equals(newAttributes));
    }
}

@Override
public void onWrite(PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback) {

    InputStream in = null;
    OutputStream out = null;

    try {
        File file = new File(path);
        in = new FileInputStream(file);
        out = new FileOutputStream(destination.getFileDescriptor());

        byte[] buff = new byte[16304];
        int size;
        while ((size = in.read(buff)) >= 0 && !cancellationSignal.isCanceled())
        {
            out.write(buff,0,size);
        }
        if (cancellationSignal.isCanceled())
            callback.onWriteCancelled();
        else
        {
            callback.onWriteFinished(new PageRange[]{PageRange.ALL_PAGES});

        }
    } catch (Exception e) {
        callback.onWriteFailed(e.getMessage());
        Log.e("EDMTDev",e.getMessage());
        e.printStackTrace();
    }
    finally {
        try {
            in.close();
            out.close();
        }catch (IOException ex)
        {
            Log.e("EDMTDev",""+ex.getMessage());
        }
    }
}`

code in activity:

```
private void printPDF() {
    PrintManager printManager = (PrintManager) getSystemService(Context.PRINT_SERVICE);
    try {
        PrintDocumentAdapter printDocumentAdapter = new PdfDocumentAdapter(TemplatesActivity.this,Common.getAppPath(TemplatesActivity.this)+"test_pdf.pdf");
        printManager.print("Document",printDocumentAdapter,new PrintAttributes.Builder().build());
    } catch (Exception ex) {
        Log.e("EDMTDev",""+ex.getMessage());
    }

}
toyota Supra
  • 3,181
  • 4
  • 15
  • 19
HGSu
  • 15
  • 6

0 Answers0