• 图片打印


    package cn.com;
    
    import org.apache.commons.codec.binary.Base64;
    import org.apache.commons.io.IOUtils;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import com.google.common.base.Strings;
    
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    import java.nio.file.StandardOpenOption;
    
    import javax.print.Doc;
    import javax.print.DocFlavor;
    import javax.print.DocPrintJob;
    import javax.print.PrintException;
    import javax.print.PrintService;
    import javax.print.PrintServiceLookup;
    import javax.print.SimpleDoc;
    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;
    import javax.print.attribute.standard.MediaPrintableArea;
    import javax.print.attribute.standard.OrientationRequested;
    import javax.print.attribute.standard.PrintQuality;
    import javax.print.attribute.standard.Sides;
    
    public class PrintUtil {
        private static final Logger logger = LoggerFactory.getLogger(PrintUtil.class);
        public static void drawImage(String fileName, int count) {
            FileInputStream fin = null;
            try {
                DocFlavor dof = null;
                if (fileName.endsWith(".gif")) {
                    dof = DocFlavor.INPUT_STREAM.GIF;
                } else if (fileName.endsWith(".jpg")) {
                    dof = DocFlavor.INPUT_STREAM.JPEG;
                } else if (fileName.endsWith(".png")) {
                    dof = DocFlavor.INPUT_STREAM.PNG;
                }
    
                PrintService ps = PrintServiceLookup.lookupDefaultPrintService();
    
                PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
                pras.add(OrientationRequested.PORTRAIT);
                pras.add(Sides.ONE_SIDED);
                pras.add(new Copies(count));
                pras.add(PrintQuality.HIGH);
                
                DocAttributeSet das = new HashDocAttributeSet();
                // 设置打印纸张的大小(以毫米为单位)
                das.add(new MediaPrintableArea(0, 0, 210, 296, MediaPrintableArea.MM));
                fin = new FileInputStream(fileName);
    
                Doc doc = new SimpleDoc(fin, dof, das);
    
                DocPrintJob job = ps.createPrintJob();
    
                job.print(doc, pras);
                fin.close();
                logger.info("打印成功!文件:"+fileName+"数量为:"+count);
            } catch (IOException ie) {
                ie.printStackTrace();
            } catch (PrintException pe) {
                pe.printStackTrace();
            }finally {
                IOUtils.closeQuietly(fin);
            }
        }
    
        public static void main(String[] args) {
            new PrintUtil().drawImage("D:/UploadFiles/photo/201902001/立项资料/材料B/1571639594294.jpg", 1);
        }
    
    }
    
  • 相关阅读:
    2017年度最具商业价值人工智能公司TOP50 榜单发布
    滑动swipe的妙用
    UE3优化
    UE4 框架
    制作HUD
    Component概念
    手游记事
    C++与UnrealScript脚本交互
    unreal Script(US)一些注意事项
    UDK游戏打包详解
  • 原文地址:https://www.cnblogs.com/sunBinary/p/11725298.html
Copyright © 2020-2023  润新知