Commit ac26adaf authored by 周亚武's avatar 周亚武

url打印

parent fa19d220
package com.mortals.xhx; package com.mortals.xhx;
import com.mortals.framework.service.ICacheService;
import com.mortals.framework.service.impl.LocalCacheServiceImpl;
import com.mortals.framework.springcloud.boot.BaseWebApplication; import com.mortals.framework.springcloud.boot.BaseWebApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
//@SpringBootApplication(scanBasePackages = {"com.mortals"},exclude= {DataSourceAutoConfiguration.class}) //@SpringBootApplication(scanBasePackages = {"com.mortals"},exclude= {DataSourceAutoConfiguration.class})
@SpringBootApplication(scanBasePackages = {"com.mortals"},exclude={DataSourceAutoConfiguration.class}) @SpringBootApplication(scanBasePackages = {"com.mortals"},exclude={DataSourceAutoConfiguration.class})
...@@ -13,6 +16,11 @@ import org.springframework.context.ApplicationContext; ...@@ -13,6 +16,11 @@ import org.springframework.context.ApplicationContext;
//@ImportResource(locations = {"classpath:config/spring-config.xml"}) //@ImportResource(locations = {"classpath:config/spring-config.xml"})
public class ManagerApplication extends BaseWebApplication { public class ManagerApplication extends BaseWebApplication {
@Bean
public ICacheService cacheService() {
return new LocalCacheServiceImpl();
}
public static void main(String[] args) { public static void main(String[] args) {
/* SpringApplication.run(ManagerApplication.class, args);*/ /* SpringApplication.run(ManagerApplication.class, args);*/
......
...@@ -51,8 +51,7 @@ public class ApiController extends BaseAbstractApiController { ...@@ -51,8 +51,7 @@ public class ApiController extends BaseAbstractApiController {
ApiResp<Object> assessResp = handle(JSON.toJSONString(reqMap), "busizAssessmentReqHandler"); ApiResp<Object> assessResp = handle(JSON.toJSONString(reqMap), "busizAssessmentReqHandler");
return assessResp; return assessResp;
case BUSIZ_PRINT: case BUSIZ_PRINT:
ApiResp<Object> rest = handle(JSON.parseObject(reqJson, new TypeReference< Map<String, Object>>() { ApiResp<Object> rest = handle(JSON.parseObject(reqJson, PrintReq.class), "busizPrintReqHandler");
}), "busizPrintReqHandler");
return rest; return rest;
case BUSIZ_PRINTLIST: case BUSIZ_PRINTLIST:
//获取打印机列表 //获取打印机列表
......
...@@ -5,6 +5,13 @@ import cn.hutool.http.HttpUtil; ...@@ -5,6 +5,13 @@ import cn.hutool.http.HttpUtil;
import com.mortals.xhx.common.code.PrintTypeEnum; import com.mortals.xhx.common.code.PrintTypeEnum;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import javax.print.*;
import javax.print.attribute.DocAttributeSet;
import javax.print.attribute.HashDocAttributeSet;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.Copies;
@Slf4j @Slf4j
public class UrlPrintComponent extends BasePrintComponent { public class UrlPrintComponent extends BasePrintComponent {
...@@ -14,12 +21,26 @@ public class UrlPrintComponent extends BasePrintComponent { ...@@ -14,12 +21,26 @@ public class UrlPrintComponent extends BasePrintComponent {
@Override @Override
public void print(ComponentCons cons) { public void print(ComponentCons cons) {
PrintService printService = getPrintService(cons);
//通过网络下载附件地址 //通过网络下载附件地址
byte[] fileBytes = HttpUtil.downloadBytes(cons.getUrl()); byte[] fileBytes = HttpUtil.downloadBytes(cons.getUrl());
//获取文件后缀 //获取文件后缀
String suffixName = FileUtil.getSuffix(cons.getUrl()); String suffixName = FileUtil.getSuffix(cons.getUrl());
log.info("file lens:{}", fileBytes.length); log.info("file lens:{}", fileBytes.length);
log.info("file suffixName:{}", suffixName); log.info("file suffixName:{}", suffixName);
//打印文件
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
DocPrintJob job = printService.createPrintJob();
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
DocAttributeSet das = new HashDocAttributeSet();
pras.add(new Copies(1));
Doc doc = new SimpleDoc(fileBytes, flavor, das);
try {
job.print(doc, pras);
} catch (PrintException e) {
throw new RuntimeException(e);
}
} }
......
...@@ -29,8 +29,9 @@ public class PrintTest { ...@@ -29,8 +29,9 @@ public class PrintTest {
@Before @Before
public void init(){ public void init(){
//domain="http://127.0.0.1:8037"; // domain="http://127.0.0.1:8037";
domain="http://192.168.0.43:8037"; // domain="http://192.168.0.43:8037";
domain="http://127.0.0.1:80";
} }
@Test @Test
...@@ -123,7 +124,7 @@ public class PrintTest { ...@@ -123,7 +124,7 @@ public class PrintTest {
@Test @Test
public void testPrintBase64() { public void testPrintBase64() {
File file = new File("F:\\test.txt"); File file = new File("G:\\test.txt");
String prefix = "txt"; String prefix = "txt";
// base64文件内容 // base64文件内容
...@@ -134,12 +135,14 @@ public class PrintTest { ...@@ -134,12 +135,14 @@ public class PrintTest {
printReq.setPrintertype(PrintTypeEnum.PRINT_BASE64.getValue()); printReq.setPrintertype(PrintTypeEnum.PRINT_BASE64.getValue());
printReq.setBase64(base64String); printReq.setBase64(base64String);
printReq.setPrintername("NPI607A1C (HP LaserJet Professional M1213nf MFP)");
//printReq.setPrinterpaperwidth("140"); //printReq.setPrinterpaperwidth("140");
String url = domain+"/GetHardWareInfo"; String url = domain+"/GetHardWareInfo";
HashMap<String, Object> params = new HashMap<>(); HashMap<String, Object> params = new HashMap<>();
params.put("GetType", "71"); params.put("GetType", "71");
params.put("PrinterJson", JSON.toJSONString(printReq)); params.put("PrinterJson", JSON.toJSONString(printReq));
log.info("PrinterJson:" + JSON.toJSONString(printReq));
String rest = HttpUtil.post(url, params); String rest = HttpUtil.post(url, params);
log.info("打印响应结果:" + rest); log.info("打印响应结果:" + rest);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment