1.android封装的一个aar插件里有一个接口,传递byte数据进行打印。那么需要对数据进行封装。

  相比时间来看,直接在android插件上处理掉这些,提供一个接口,传递文件路径,进行打印。

 

2.指定的路径进行打印。

调用后出现问题,获取文件元数据失败,CODE 15

固定路径android 10是不支持的。

async printImg() {
		  const plugin = uni.requireNativePlugin('bluetooth-plugin');
		  
		  // 第一步:获取static目录下的文件路径
		  // 假设你要打印的是static目录下的example.png文件
		  const staticFilePath = '_www/static/example.png'; // 注意:static文件在打包后会位于_www/static目录下
		  
		  // 第二步:把static文件拷贝到沙盒路径
		  plus.io.resolveLocalFileSystemURL(staticFilePath, (entry) => {
		    plus.io.requestFileSystem(plus.io.PRIVATE_DOC, (fs) => {
		      const newFileName = `print_${Date.now()}.png`;
		      entry.copyTo(fs.root, newFileName, (newEntry) => {
		        const newPath = newEntry.fullPath;
		        console.log('沙盒路径:', newPath);
		
		        // 第三步:调用插件打印
		        plugin.printImageByPath(newPath, (res) => {
		          if (res.success) {
		            console.log('打印成功:', res.message);
		          } else {
		            console.error('打印失败:', res.error);
		          }
		        });
		
		      }, (err) => {
		        console.error('拷贝文件失败:', err);
		      });
		    }, (err) => {
		      console.error('无法访问沙盒路径:', err);
		    });
		  }, (err) => {
		    console.error('无法解析static文件路径:', err);
		  });
		},

3.打印会带黑边。

是图片存在问题。拿到图片。

4

更多推荐