当前位置: 首页 > news >正文

长春市建设信息网站百度惠生活推广怎么收费

长春市建设信息网站,百度惠生活推广怎么收费,手工制作玫瑰花,自助建站信息发布网企业​ 最近接到用户提过来的需求,需要一个能够自动打印图纸的功能,经过几天的研究整出来个初版了的,分享出来给大家,希望能有帮助。 需求描述: ​ 生产车间现场每天都有大量的图纸需要打印,一个一个打印太慢了&#xff0…

​ 最近接到用户提过来的需求,需要一个能够自动打印图纸的功能,经过几天的研究整出来个初版了的,分享出来给大家,希望能有帮助。
需求描述:

​ 生产车间现场每天都有大量的图纸需要打印,一个一个打印太慢了,希望可以有个批量打印的功能。
分析

​ 我们的图纸是存在服务器上,都是pdf版本的,所以批量打印程序可以通过文件名称,然后程序自动将共享文件推送到打印机上打印,这样就可以实现自动化了,并且后续还可以根据情况进行扩展

代码

初版的程序比较简单,使用的是springboot + spring shell 来实现,具体代码如下:

<!-- pom.xml 片段 -->
<!-- spring-boot-starter 版本是随意选的 -->
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.14</version>
</parent>
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- spring-shell 版本需要与 spring-boot-starter 匹配 --><dependency><groupId>org.springframework.shell</groupId><artifactId>spring-shell-starter</artifactId><version>2.1.11</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.26</version><optional>true</optional><scope>compile</scope></dependency><dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.26</version></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.22</version></dependency></dependencies><build><finalName>DrawPrinter</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.5.4</version> <!-- 使用适合你的Spring Boot版本 --><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>

shell命令代码

package xxxx;import cn.hutool.core.util.StrUtil;
import com.higer.ipd.tools.drawprinter.commons.PdfPrinter;
import com.higer.ipd.tools.drawprinter.entity.DrawInfoEntity;
import com.higer.ipd.tools.drawprinter.service.IDrawInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.shell.standard.ShellComponent;
import org.springframework.shell.standard.ShellMethod;import java.io.File;
import java.util.HashMap;
import java.util.List;@ShellComponent
public class CommonCommand {@Autowiredprivate IDrawInfoService drawInfoService;@ShellMethod(value = "打印消息",key="000",group = "test")public void printMessage(String message) {System.out.println(message);}@ShellMethod(value = "查看本地打印机",key="101",group = "print")public void showLocPrinter(){PdfPrinter.getLocalPrinter().keySet().forEach(System.out::println);}@ShellMethod(value="打印图纸",key="103",group = "print")public void printPdf(String printerName,String fileName,String pageSize){try {String result = PdfPrinter.print(new File(fileName), printerName, pageSize);if(StrUtil.isBlank(result)){System.out.println("打印成功!");}else{System.out.println(result);}} catch (Exception e) {e.printStackTrace();System.out.println("打印出错!");}}
}

上面开发了两个shell命令:“查看本地打印机"和"打印图纸”.

打印图纸代码片段如下:

public static String print(File file, String printerName,String pageSize) throws Exception {if(StrUtil.isBlank(printerName) || file == null || !file.exists()){return "未指定打印机或待文件不存在,请确认!";}// 1.根据打印机名称找到对应的打印机服务,Map<String, PrintService> printerMap = getLocalPrinter();PrintService printService = printerMap.get(printerName);if(printService == null){return "没有找到指定的打印机!";}// 2.加载pdf文件,并设置打印配置,打印try (PDDocument document = PDDocument.load(file)){PrinterJob printJob = PrinterJob.getPrinterJob();printJob.setJobName(file.getName());printJob.setPrintService(printService);PDFPrintable pdfPrintable = new PDFPrintable(document, Scaling.SCALE_TO_FIT);Book book = new Book();PageFormat pageFormat = new PageFormat();pageFormat.setOrientation(PageFormat.PORTRAIT);//纵向pageFormat.setPaper(getPaper(pageSize));//设置纸张book.append(pdfPrintable, pageFormat, document.getNumberOfPages());printJob.setPageable(book);printJob.setCopies(1);//设置打印份数HashPrintRequestAttributeSet pars = new HashPrintRequestAttributeSet();pars.add(Sides.ONE_SIDED); //设置单双页printJob.print(pars);}return "";
}

效果

启动后进入输入命令状态,输入help可以看到帮助信息,效果如下:

在这里插入图片描述
输入 help 103 可以看到打印图纸的帮助信息,命令格式为: 103 打印机名称 文件名称 页面大小(A3/A4)

在这里插入图片描述
源码下载

http://www.ds6.com.cn/news/111615.html

相关文章:

  • 网络教学平台网址优化服务
  • 电商网站销售数据分析怎么推广网站
  • 吴桥县网站建设网站手机版排名seo
  • 网站如何做seo规划市场营销策划公司排名
  • wordpress旧文章更新网站如何seo推广
  • 在国外做网站商铺营销推广方案
  • 自己做返利网站是真的吗网络营销的特点有哪些?
  • 佛山电商网站制作团队怎么在网上推销产品
  • 中文wordpress模版window优化大师官网
  • 交友网站建设外贸怎么建立自己的网站
  • 网站开头flash怎么做国际新闻最新消息今天军事新闻
  • 网站平台推广有哪些线上营销方式
  • 淘宝联盟怎么做自已的网站seo排名优化培训网站
  • 苏州建站公司2022年最新新闻播报稿件
  • 小型电商平台有哪些网络建站优化科技
  • 创建网站要多少钱免费关键词挖掘网站
  • 常青花园做网站的公司百度竞价可以自学吗
  • wordpress 禁用日期seo推广专员
  • seo网站推广推荐网销平台排名
  • 人工智能郑州seo排名工具
  • 龙岗网站建设公司软文模板300字
  • 做网站 框架市场调研方法有哪几种
  • 厦门推广平台较好的seo云优化外包
  • 式网站软文自助发稿平台oem
  • 行业网站排名游戏推广是干什么的
  • 教做黏土手工的网站国外网站谷歌seo推广
  • 个人网站建站流程企业网站优化服务
  • 幻灯片在什么网站做品牌网络营销案例
  • 泗阳网站建设天津搜索引擎seo
  • 做网站需要学什么软件百度怎么创建自己的网站