Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 这些利润来自哪里?_Android_Printing - Fatal编程技术网

Android 这些利润来自哪里?

Android 这些利润来自哪里?,android,printing,Android,Printing,我正在编写一个专有的PrintService,收到的由安卓PrintManager生成的PDF文件出现了一些问题。 我想有些打印属性设置不正确 下面是我用来打印东西的简单代码。这是我的测试应用程序: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

我正在编写一个专有的
PrintService
,收到的由安卓
PrintManager
生成的PDF文件出现了一些问题。 我想有些打印属性设置不正确

下面是我用来打印东西的简单代码。这是我的测试应用程序:

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

    webView = new WebView(this);
    webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

    // I also set padding to 0 in case....
    webView.setPadding(0, 0, 0, 0);

    // So I tried to set html margin/padding to 0 but it doesn't change the print preview
    String summary = "<html><body style=\"margin: 0; padding: 0; width:100%; height: 100%;\">" +
            "-------------------------------------<br/>" +
            "I'm just printing something!<br/>" +
            "-------------------------------------<br/>" +
            "</body></html>";
    webView.loadData(summary, "text/html; charset=utf-8", "utf-8");

}

public void createWebPrintJob(View view) {

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

    if (printManager != null) {
        String jobName = getString(R.string.app_name);
        PrintJob job = null;

        PrintDocumentAdapter printAdapter =
                webView.createPrintDocumentAdapter(jobName);

        if ((job = (printManager.print(jobName, printAdapter,
                new PrintAttributes.Builder().build()))) != null) {
            Toast.makeText(this, "Job succesfully created", Toast.LENGTH_SHORT).show();
        }
    }
}
这是打印预览,所以我不明白为什么我的文本周围有空白或填充,而我为所有文本指定了0

那么,为什么我在这里看到边距,因为我为所有指定了0

-编辑-
我更新了我的
onCreate
方法,根据一些关于类似问题的帖子,但没有成功

问题可能在于版面(或版面本身)中有一些元素,您在其中插入设置了边距的PDF。

我通过将css样式添加到HTML中解决了这个问题

<style type="text/css" media="print">
@page
{
    size:  auto;   /* auto is the initial value */
    margin: 0mm;  /* this affects the margin in the printer settings */
}

html
{
    background-color: #FFFFFF;
    margin: 0px;  /* this affects the margin on the html before sending to printer */
}

body
{
    margin: 0mm; /* margin you want for the content */
}
</style>

@页面
{
大小:auto;/*auto是初始值*/
边距:0mm;/*这会影响打印机设置中的边距*/
}
html
{
背景色:#FFFFFF;
边距:0px;/*这会影响发送到打印机之前html上的边距*/
}
身体
{
边距:0mm;/*内容所需的边距*/
}

你能发布你的XML
活动\u main.XML
?@ThomasMary当我以编程方式创建网络视图时,你会看到同样的问题吗?打印输出是什么样子的(假设您使用的是物理打印机)?对我来说,这只是一个预览版,什么都没有else@nonos,我试图从图库打印位图,但没有看到这些页边距。它似乎只存在于“网络视图”中,但无法帮助删除它。@fralbo找到解决方案了吗?我有类似的问题,如果你能帮助我,当然,但什么,我发现了一些关于这个问题的帖子,我已经更新了我的代码,看看,但它没有改变任何东西。我明确表示,我不会在我的应用程序中渲染webview,我只使用它创建pdf渲染,如代码中所述。
<style type="text/css" media="print">
@page
{
    size:  auto;   /* auto is the initial value */
    margin: 0mm;  /* this affects the margin in the printer settings */
}

html
{
    background-color: #FFFFFF;
    margin: 0px;  /* this affects the margin on the html before sending to printer */
}

body
{
    margin: 0mm; /* margin you want for the content */
}
</style>