当前位置: 首页 > 知识库问答 >
问题:

没有webview的Google云打印集成

祁嘉木
2023-03-14
    null

你能分享一些代码或教程吗?

对不起我的英语

共有1个答案

王彭薄
2023-03-14

我找到了这个链接,它帮助了我

加:

java prettyprint-override">@Override
protected Void doInBackground(Void... params) {

    try {
        DefaultHttpClient httpclient = new DefaultHttpClient();

        String user = "user@gmail.com";
        String pass = "password";
        String source = "Cloud%20Printing%20Test";

        HttpGet authGet = new HttpGet(
                "https://www.google.com/accounts/ClientLogin?accountType=HOSTED_OR_GOOGLE&Email="
                        + user
                        + "&Passwd="
                        + pass
                        + "&service=cloudprint&source=" + source);

        HttpResponse httpResponse;

        httpResponse = httpclient.execute(authGet);

        String authResponse = EntityUtils
                .toString(httpResponse.getEntity());
        String authKey = authResponse.substring(authResponse
                .indexOf("Auth=") + 5);
        authKey = authKey.replace("\n", "");

        MyLog.d(TAG, "Auth key: " + authKey);

        HttpPost printPost = new HttpPost(
                "https://www.google.com/cloudprint/submit?output=json");
        printPost.setHeader("Authorization", "GoogleLogin auth=" + authKey);
        printPost.setHeader("X-CloudPrint-Proxy", source);

        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
        nameValuePairs.add(new BasicNameValuePair("printerid", "ID"));
        nameValuePairs.add(new BasicNameValuePair("title", "TEST"));
        nameValuePairs.add(new BasicNameValuePair("capabilities", "{capabilities=[]}"));
        nameValuePairs.add(new BasicNameValuePair("content", "123"));
        nameValuePairs.add(new BasicNameValuePair("contentType", "text/plain"));
        printPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        HttpResponse printResponse = httpclient.execute(printPost);
        String lol = EntityUtils.toString(printResponse.getEntity());

    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}

但现在我只能打印文本。如果我找到了如何打印pdf的解决方案-我会在这里发布代码

File file = new File("file.pdf");
FileBody fb = new FileBody(file);
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
builder.addTextBody("printerid", "ID");
builder.addTextBody("title", "TEST2");
builder.addTextBody("capabilities", "{capabilities=[]}");
builder.addTextBody("contentType", "application/pdf");
builder.addPart("content", fb);
printPost.setEntity(builder.build());
 类似资料:
  • 简单、省钱、安全! 手机打印/免装驱动/全员共享/远程打印/用量统计/省钱经济 产品清单 包材产品清单配图 包材产品清单 包材产品清单 产品结构 产品结构 配置流程 配置前准备 扫描二维码 连接蓝牙 云盒连网 绑定团队 使用流程 1.钉钉内云打印(钉钉客户端4.3.7及以上版本) 1.1 聊天对话内的文件、图片等,可发起云打印 手机端钉钉 电脑端钉钉 1.2 钉盘内的文件、图片等,可发起云打印 手

  • 本文向大家介绍Java的云打印Lodop,包括了Java的云打印Lodop的使用技巧和注意事项,需要的朋友参考一下 Lodop是一款专业的WEB打印控件,其设计目标是简单易用、功能足够强大,开创WEB打印开发的新局面。 Lodop设计者对WEB下的打印开发任务进行了分类汇总,高度抽象,设计出仅用几个功能函数,就可实现复杂的打印任务,尽量减少使用者的知识累赘。控件发布包有3个系统文件组成,全部功能用

  • 我有几个问题。我正在做家庭作业,但遇到了一些令人困惑的事情。(我上的是入门课,有错误,很抱歉。) 实现一个以整数数组和int x作为其大小的类。在类中创建一个方法,该方法创建一个长度比数据长度大1的新数组。然后创建一个方法,将所有数据元素复制到新数组中,并将x值添加到数组的最后一个元素中。创建一个方法来返回新数组中的所有整数。 这是我的 这只是返回NULL。 我的问题是上面任务的最后一点。“创建一

  • 我认为这些信息在开始的时候真的很重要,但是后来就没有用了。它实际上使读取和调试的情况变得更糟。 I tensorflow/流执行器/dso加载器。cc:128]已成功打开CUDA库libcublas。所以8.0本地I tensorflow/流执行器/dso加载器。抄送:119]无法打开CUDA库libcudnn。所以LD_库路径:I tensorflow/stream_executor/cuda/

  • 现在API链接作为https://www.example.com/post/[random post number]嵌入到我网站的网页上(这是一个html链接,我每次都需要提供一个更新的副本,所以我设置了一个cookie来避免在CDN中缓存) 我已经在我的负载均衡器后端GCE上启用了云CDN。我的理解是,嵌入在网页中的静态内容的链接会自动缓存在CDN中,因为bucket访问是公开的。 通过使用cU