标签: android-print-framework

使用 PrintManager Android 4.4 直接打印 PDF

http://developer.android.com/training/printing/index.html文档介绍了如何通过在 PDF 画布上呈现自定义内容并发送由此创建的 PDF 文档进行打印来打印自定义内容。但是没有关于如果我们已经有一个 PDF 文档,如何发送它进行打印的信息?

类似于位图打印,有类似printHelper.printPDF的方法吗?

printing pdf android android-4.4-kitkat android-print-framework

5
推荐指数
1
解决办法
1万
查看次数

Android打印作业会忽略PrintAttributes

我正在尝试实现或多或少有效的打印API。我可以使用api级别19中引入的打印框架将文件发送到Google Cloud Print应用程序并进行打印。但是如果我不必一直用手发送纸格式,那将是很好的,因为它以纸格式开始索引卡4x6,这不是我想要的,我想要A4。如果GCP应用程序会记住配置,我可能会接受它,但是我必须为每个单独的printjob设置它,这有点令人沮丧。

我发现我可以通过设置PrintAttributes来对此进行归档。但是,无论我将它们设置为什么,它始终是纸质格式的索引卡4x6。如果我在打印对话框中将格式手动设置为A4,则效果很好

PrintManager printManager = (PrintManager) ctx.getSystemService(Context.PRINT_SERVICE);

String jobName = "Jobname";

PrintAttributes.Builder builder = new PrintAttributes.Builder();
builder.setMediaSize(PrintAttributes.MediaSize.ISO_A4);
builder.setColorMode(PrintAttributes.COLOR_MODE_MONOCHROME);
PrintAttributes attr = builder.build();

printManager.print(jobName, new PrintDocumentAdapterForFiles(ctx, new File(filePath), jobName), attr );
Run Code Online (Sandbox Code Playgroud)

万一重要:打印机是Canon Pixma IP 110

android android-print-framework

5
推荐指数
0
解决办法
423
查看次数

如何在Android Print Framework中将默认的"纵向方向"更改为横向?

有没有办法在打印框架中将默认纵向预览更改为横向?

我试过下面 -

PrintAttributes attrib = new PrintAttributes.Builder()
.setMediaSize(PrintAttributes.MediaSize.NA_LETTER.asLandscape())
.setMinMargins(PrintAttributes.Margins.NO_MARGINS)
. build();
Run Code Online (Sandbox Code Playgroud)

并尝试下面 -

PrintAttributes attrib = new PrintAttributes.Builder()
.setMediaSize(PrintAttributes.MediaSize.UNKNOWN_LANDSCAPE)
.setMinMargins(PrintAttributes.Margins.NO_MARGINS)
. build();
Run Code Online (Sandbox Code Playgroud)

我注意到它没有将页面方向更改为Landscape

打印设置

在上面的打印设置对话框中,如果我确实将方向更改为横向,则只有打印预览页面才会将方向更改为横向.这可以通过编程方式完成吗?我希望在Landscape中进行默认预览.

android android-print-framework

5
推荐指数
1
解决办法
1528
查看次数

无需打印服务预览即可打印

我想在我的应用程序中按下按钮并将 pdf 文档发送到打印机直接打印(不显示来自打印框架 Android 4.4 的系统 android 预览)。我该怎么做?我试图通过 Socket 连接到打印机。没关系,无一例外,但我的打印机没有响应,也没有打印任何内容。

也许我需要在手机上为混凝土打印机设置驱动程序?但是怎么做,我在哪里可以得到这样的驱动程序?

已编辑

在此处输入图片说明

java printing android android-print-framework

4
推荐指数
1
解决办法
2221
查看次数

如何将 PdfDocument 对象保存到 Android 中的文件中?

在我的应用程序中,我在按钮单击事件上创建了一个 PDF 文档。并且我使用了打印框架来打印该文档。所有这些都工作正常。我需要的是,我想将该 pdf 文档保存到手机存储中的文件夹中.如何做到这一点,我不知道如何将此 pdf 保存到文件中。有人可以帮我吗?提前谢谢。

我的生成pdf的代码

public class CustomPrintActivity extends Activity {





@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment_custom_print);
}



public void printDocument(View view)
{
    PrintManager printManager = (PrintManager) this
            .getSystemService(Context.PRINT_SERVICE);

    String jobName = this.getString(R.string.app_name) +
            " Document";

    printManager.print(jobName, new MyPrintDocumentAdapter(this),
            null);
}
public class MyPrintDocumentAdapter extends PrintDocumentAdapter {
    Context context;
    private int pageHeight;
    private int pageWidth;
    public PdfDocument myPdfDocument;
    public int totalpages = 1;


    public MyPrintDocumentAdapter(Context context) {
        this.context = context;
    }

    @Override
    public void onLayout(PrintAttributes …
Run Code Online (Sandbox Code Playgroud)

android android-file android-print-framework android-pdf-api

2
推荐指数
1
解决办法
4973
查看次数

如何更改android默认打印对话框纸张尺寸?

我在我的应用程序中使用默认的android打印机我已经按照此链接打印Web视图.

它得到打印但我的问题是打印对话框打开时默认页面大小是A4,可以将纸张大小更改为A5默认值?我试过谷歌,但我找不到答案,任何人都可以帮助我

android android-print-framework

1
推荐指数
1
解决办法
6660
查看次数