searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享

Spire.office for java组件介绍以及应用

2023-08-21 06:57:28
114
0

1.Spire.Doc for Java 服务的介绍

Spire.Doc for Java 是一款专业的 Java Word 组件,开发人员使用它可以轻松地将 Word 文档创建、读取、编辑、转换和打印等功能集成到自己的 Java 应用程序中。作为一款完全独立的组件,Spire.Doc for Java 的运行环境无需安装 Microsoft Office。同时兼容大部分国产操作系统,能够在中标麒麟和中科方德等国产操作系统中正常运行。Spire.Doc for Java 支持 WPS 生成的 Word 格式文档(.wps, .wpt)。

Spire.Doc for Java 能执行多种 Word 文档处理任务,包括生成、读取、转换和打印 Word 文档,插入图片,添加页眉和页脚,创建表格,添加表单域和邮件合并域,添加书签,添加文本和图片水印,设置背景颜色和背景图片,添加脚注和尾注,添加超链接、数字签名,加密和解密 Word 文档,添加批注,添加形状等。

Spire.Doc for Java 几个简单应用:

eg1:文档转换——以Word转PDF为例

<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc</artifactId>
        <version>11.8.1</version>
    </dependency>
</dependencies>
import com.spire.doc.*;

public class WordToPDF
{
    public static void main(String[] args) {
        //实例化Document类的对象
        Document doc = new Document();

        //加载Word
        doc.loadFromFile("测试.docx");

        //保存为PDF格式
        doc.saveToFile("WordToPDF.pdf",FileFormat.PDF);
    }
}

结果:

eg2:文档操作——在Word中嵌入多媒体(视频、音频)文件

<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc</artifactId>
        <version>11.8.1</version>
    </dependency>
</dependencies>
import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.ParagraphStyle;
import com.spire.doc.fields.DocPicture;

import java.awt.*;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class EmbedMediaFile {
    public static void main(String[] args)throws IOException {
        //实例化Document类的对象,并添加Section
        Document doc = new Document();
        Section section = doc.addSection();

        //定义段落样式
        ParagraphStyle style1 = new ParagraphStyle(doc);
        style1.setName("Style");
        style1.getCharacterFormat().setFontName("Calibri");
        style1.getCharacterFormat().setFontSize(18);
        style1.getCharacterFormat().setBold(true);
        style1.getCharacterFormat().setTextColor(new Color(123,104,238));
        doc.getStyles().add(style1);

        //添加段落1,嵌入视频文件
        Paragraph para1 = section.addParagraph();
        para1.appendText("嵌入视频文件:");
        para1.applyStyle(style1.getName());
        InputStream stream1 = new FileInputStream("Video.mp4");
        DocPicture pic1 = new DocPicture(doc);
        pic1.loadImage("logo1.png");
        para1.appendOleObject(stream1, pic1, "mp4");

        //添加一个空白段落2
        Paragraph para2 = section.addParagraph();

        //添加段落3,嵌入音频文件
        Paragraph para3 = section.addParagraph();
        para3.appendText("嵌入音频文件:");
        para3.applyStyle(style1.getName());
        InputStream stream2 = new FileInputStream("Audio.mp3");
        DocPicture pic2 = new DocPicture(doc);
        pic2.loadImage("logo2.png");
        para3.appendOleObject(stream2, pic2, "mp3");

        //保存文档
        doc.saveToFile("Result.docx", FileFormat.Docx_2013);
    }
}

结果:

eg3:水印操作——添加文本水印和图片水印

	import com.spire.doc.*;
import com.spire.doc.documents.WatermarkLayout;
import java.awt.*;

public class WordTextWatermark {
    public static void main(String[] args) {
        //创建一个Document实例
        Document document = new Document();

        //加载示例 Word 文档
        document.loadFromFile("示例文档.docx");

        //获取第一节
        Section section = document.getSections().get(0);

        //创建一个 TextWatermark 实例
        TextWatermark txtWatermark = new TextWatermark();

        //设置文本水印格式
        txtWatermark.setText("内部使用");
        txtWatermark.setFontSize(40);
        txtWatermark.setColor(Color.red);
        txtWatermark.setLayout(WatermarkLayout.Diagonal);

        //将文本水印添加到示例文档
        section.getDocument().setWatermark(txtWatermark);

        //保存文件
        document.saveToFile("添加文本水印.docx", FileFormat.Docx);
    }

结果:

import com.spire.doc.*;


public class WordImageWatermark {
    public static void main(String[] args)  throws Exception{
        //创建一个Document实例
        Document document = new Document();

        //加载示例 Word 文档
        document.loadFromFile("示例文档.docx");

        //创建一个 PictureWatermark 实例
        PictureWatermark picture = new PictureWatermark();

        //设置图像水印格式
        picture.setPicture("logo.png");
        picture.setScaling(100);
        picture.isWashout(false);

        //将图像水印添加到示例文档中
        document.setWatermark(picture);

        //保存文件
        document.saveToFile("添加图像水印.docx",FileFormat.Docx );
    }
}

结果:

 

2.Spire.XLS for Java服务介绍

Spire.XLS for Java 支持多种 Excel 文件格式,包括 Excel 97-2003 格式(.xls),以及 Excel 2007、2010、2013、2016 和 2019 格式(.xlsx, .xlsb, .xlsm),此外,它还支持 Open Office(.ods)格式。同时兼容大部分国产操作系统,能够在中标麒麟和中科方德等国产操作系统中正常运行。
Spire.XLS for Java 提供了一系列丰富的操作 Excel 的功能,例如创建、读取、编辑、转换和打印 Excel 工作表,查找和替换数据,创建图表,创建自动筛选器,读取和插入超链接,合并或取消合并单元格,合并 Excel 文档,组合或取消组合 Excel 行和列,冻结或取消冻结窗口,数字签名,加密或解密 Excel 工作表等。

Spire.XLS for Java的几个简单应用

eg1:文档转换——将Excel转为PDF

<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>13.8.1</version>
    </dependency>
</dependencies>
import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;

public class ConvertExcelToPdf {

    public static void main(String[] args) {

        //创建一个Workbook实例并加载Excel文件
        Workbook workbook = new Workbook();
        workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.xlsx");

        //设置转换后的PDF页面高宽适应工作表的内容大小
        workbook.getConverterSetting().setSheetFitToPage(true);

        //将生成的文档保存到指定路径
        workbook.saveToFile("output/ExcelToPdf", FileFormat.PDF);
    }
}

结果:

 

eg2:图片操作——Excel中插入和提取图片

import com.spire.xls.ExcelPicture;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class InsertImage {
    public static void main(String[] args){
        //创建Workbook实例
        Workbook workbook = new Workbook();
        //加载Excel文档
        workbook.loadFromFile("Input.xlsx");
        //获取第一张工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        //添加图片到工作表的指定位置
        ExcelPicture pic = sheet.getPictures().add(4, 1,"image.jpg");
        //设置图片的宽度和高度
        pic.setWidth(500);
        pic.setHeight(300);

        //保存文档
        workbook.saveToFile("InsertImage.xlsx", ExcelVersion.Version2013);
    }
}

结果:

import com.spire.xls.ExcelPicture;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class ReadImage {
    public static void main(String[] args) throws IOException {
        //创建Workbook实例
        Workbook workbook = new Workbook();
        //加载Excel文档
        workbook.loadFromFile("InsertImage.xlsx");

        //获取第一张工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        //获取工作表中第一张图片并保存到指定路径
        ExcelPicture pic = sheet.getPictures().get(0);
        BufferedImage loImage = pic.getPicture();
        ImageIO.write(loImage,"jpg",new File("output/ReadImage.jpg"));
    }
}

结果:

 

eg3:水印——添加文本水印和图片水印

import com.spire.xls.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import static java.awt.image.BufferedImage.TYPE_INT_ARGB;

public class ExcelWatermark {
    public static void main(String[] args)  {

        //加载示例文档
        Workbook workbook = new Workbook();
        workbook.loadFromFile("Sample.xlsx");

        //设置文本和字体大小
        Font font = new Font("仿宋", Font.PLAIN, 40);
        String watermark = "内部专用";

        for (Worksheet sheet : (Iterable<Worksheet>) workbook.getWorksheets()) {
            //调用DrawText() 方法插入图片
            BufferedImage imgWtrmrk = drawText(watermark, font, Color.pink, Color.white, sheet.getPageSetup().getPageHeight(), sheet.getPageSetup().getPageWidth());

            //将图片设置为页眉
            sheet.getPageSetup().setLeftHeaderImage(imgWtrmrk);
            sheet.getPageSetup().setLeftHeader("&G");

            //将显示模式设置为Layout
            sheet.setViewMode(ViewMode.Layout);
        }

        //保存文档
        workbook.saveToFile("Watermark.xlsx", ExcelVersion.Version2010);
    }
    private static BufferedImage drawText (String text, Font font, Color textColor, Color backColor,double height, double width)
    {
        //定义图片宽度和高度
        BufferedImage img = new BufferedImage((int) width, (int) height, TYPE_INT_ARGB);
        Graphics2D loGraphic = img.createGraphics();

        //获取文本size
        FontMetrics loFontMetrics = loGraphic.getFontMetrics(font);
        int liStrWidth = loFontMetrics.stringWidth(text);
        int liStrHeight = loFontMetrics.getHeight();

        //文本显示样式及位置
        loGraphic.setColor(backColor);
        loGraphic.fillRect(0, 0, (int) width, (int) height);
        loGraphic.translate(((int) width - liStrWidth) / 2, ((int) height - liStrHeight) / 2);
        loGraphic.rotate(Math.toRadians(-45));

        loGraphic.translate(-((int) width - liStrWidth) / 2, -((int) height - liStrHeight) / 2);
        loGraphic.setFont(font);
        loGraphic.setColor(textColor);
        loGraphic.drawString(text, ((int) width - liStrWidth) / 2, ((int) height - liStrHeight) / 2);
        loGraphic.dispose();
        return img;
    }
}

结果:

 

3.Spire.Presentation for Java服务的介绍

Spire.Presentation for Java 是一个专业的 PowerPoint API,它允许开发人员在 Java 应用程序中创建、读取、写入、转换和保存 PowerPoint 文档。作为一款独立的 Java 组件,Spire.Presentation for Java 的运行环境无需安装 Microsoft PowerPoint。同时兼容大部分国产操作系统,能够在中标麒麟和中科方德等国产操作系统中正常运行。

Spire.Presentation for Java 支持功能十分丰富,如添加/编辑/删除幻灯片,创建图表、表格,添加项目符号,加密和解密 PPT,添加水印,插入超链接、音频和视频,段落设置,文档属性设置,插入/提取图片,提取文本,设置动画,添加页眉和页脚,添加/删除批注,创建 SmartArt 等。

 

Spire.Presentation for Java几个简单应用

eg1:转换——PPT转XPS

<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.presentation</artifactId>
        <version>8.7.3</version>
    </dependency>
</dependencies>
import com.spire.presentation.*;

public class PPTtoXPS {
    public static void main(String[] args) throws  Exception{
        //创建Presentation类的对象
        Presentation ppt = new Presentation();

        //加载幻灯片文档
        ppt.loadFromFile("input.pptx");

        //保存为XPS格式
        ppt.saveToFile("ToXPS.xps",FileFormat.XPS);
        ppt.dispose();
    }
}

结果:

 

eg2:PPT添加、隐藏、删除幻灯片

import com.spire.presentation.*;

public class Slides {
    public static void main(String[] args) throws Exception {

        //创建一个PowerPoint文档并加载示例文档

        Presentation presentation = new Presentation();
        presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pptx");
        
        //在文档末尾添加新幻灯
        presentation.getSlides().append();

        //在第二页插入空白幻灯片
        presentation.getSlides().insert(1);

       //保存文档
        presentation.saveToFile("output/AddSlide.pptx", FileFormat.PPTX_2010);
    }

}

结果:

import com.spire.presentation.*;

public class Slides {
    public static void main(String[] args) throws Exception {

        //创建一个PowerPoint文档并加载示例文档
        Presentation presentation = new Presentation();
        presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pptx");

        //隐藏第二张幻灯片
        presentation.getSlides().get(1).setHidden(true);

        //保存文档
        presentation.saveToFile("output/Hideslide.pptx", FileFormat.PPTX_2010);
    }

}

结果:

import com.spire.presentation.*;

public class Slides {
    public static void main(String[] args) throws Exception {

        //创建一个PowerPoint文档并加载示例文档
        Presentation presentation = new Presentation();
        presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pptx");

        //删除第二张幻灯片
        presentation.getSlides().removeAt(1);

        //保存文档
        presentation.saveToFile("output/Removeslide.pptx", FileFormat.PPTX_2010);
    }

}

结果:

eg3:水印——給PPT添加文档水印

import com.spire.presentation.*;
import com.spire.presentation.drawing.FillFormatType;
import java.awt.*;
import java.awt.geom.Rectangle2D;

public class watermark {
    public static void main(String[] args) throws Exception {

        //创建presentation对象并加载示例文档
        Presentation presentation = new Presentation();
        presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pptx");

        //设置文本水印的宽和高
        int width= 400;
        int height= 300;

        //定义一个长方形区域
        Rectangle2D.Double rect = new Rectangle2D.Double((presentation.getSlideSize().getSize().getWidth() - width) / 2,
                (presentation.getSlideSize().getSize().getHeight() - height) / 2, width, height);

        //添加一个shape到定义区域
        IAutoShape shape = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.RECTANGLE, rect);

        //设置shape样式
        shape.getFill().setFillType(FillFormatType.NONE);
        shape.getShapeStyle().getLineColor().setColor(Color.white);
        shape.setRotation(-45);
        shape.getLocking().setSelectionProtection(true);
        shape.getLine().setFillType(FillFormatType.NONE);

        //添加文本到shape
        shape.getTextFrame().setText("内部使用");
        PortionEx textRange = shape.getTextFrame().getTextRange();

        //设置文本水印样式
        textRange.getFill().setFillType(FillFormatType.SOLID);
        textRange.getFill().getSolidColor().setColor(Color.pink);
        textRange.setFontHeight(50);

        //保存文档
        presentation.saveToFile("output/result.pptx", FileFormat.PPTX_2010);
    }

}

结果:

 

4.Spire.PDF for Java服务的介绍

Spire.PDF for Java 是一款专门对 PDF 文档进行操作的 Java 类库。该类库的主要功能在于帮助开发人员在 Java 应用程序(J2SE 和 J2EE)中生成 PDF 文档和操作现有 PDF 文档,并且运行环境无需安装 Adobe Acrobat。同时兼容大部分国产操作系统,能够在中标麒麟和中科方德等国产操作系统中正常运行。

Spire.PDF for Java 支持的功能非常丰富,例如 PDF 文档安全性设置,提取文本和图片,合并和拆分 PDF,画文本、图片、形状、条形码到 PDF,打印 PDF,创建和填充表单,添加和删除层,重叠 PDF 页面,添加文本/图片水印,添加、更新、删除 PDF 书签,添加表格,压缩 PDF 文档等。此外,Spire.PDF for Java 还支持将 PDF 文档高质量地转换为 XPS、图片、Excel、SVG、Word、HTML、OFD 和 PDF/A 格式,以及将 SVG、XPS 和 HTML 文档高质量地转换为 PDF 格式。

Spire.PDF for Java几个简单应用

eg1:文档转换——PDF转Excel

<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.pdf</artifactId>
        <version>9.7.8</version>
    </dependency>
</dependencies>
import com.spire.pdf.*;

public class PDFtoExcel {
    public static void main(String[] args) {
        //创建PdfDocument实例
        PdfDocument pdf = new PdfDocument();

        //加载PDF文档
        pdf.loadFromFile("test.pdf");

        //保存为Excel
        pdf.saveToFile("PDFToXLS.xlsx", FileFormat.XLSX);
    }
}

结果:

 

eg2:水印——PDF添加文档水印

import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

import java.awt.*;

public class insertSingleTextWaterMark {
    public static void main(String[] args) {

        //创建PdfDocument类的对象
        PdfDocument pdf = new PdfDocument();

        //载入PDF文档
        pdf.loadFromFile("人的注意力很容易分散.pdf");

        //循环遍历 PDF 文档中的所有页面以逐个添加水印
        String text = "草稿";
        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("黑体", Font.BOLD, 50));
        float set1 = (float) (font.measureString(text).getWidth() * Math.sqrt(2)/4);
        float set2 = (float) (font.measureString(text).getHeight() * Math.sqrt(2)/4);
        for (int i = 0; i < pdf.getPages().getCount(); i++){
            //获取一个页面
            PdfPageBase page = pdf.getPages().get(i);
            //设置水印文字的透明度
            page.getCanvas().setTransparency(0.8f);
            //设置坐标的偏移量
            page.getCanvas().translateTransform(page.getCanvas().getSize().getWidth()/2 - set1 - set2, page.getCanvas().getSize().getHeight()/2 + set1 - set2);
            //设置水印文字的旋转角度
            page.getCanvas().rotateTransform(-45);
            //将水印绘制在该页面上
            page.getCanvas().drawString(text, font, PdfBrushes.getDarkGray(), 0, 0);
        }

        //保存文档
        pdf.saveToFile("单一文字水印.pdf");
    }
}

结果:

 

eg3:PDF添加图片水印

import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import com.spire.pdf.htmlconverter.qt.Size;

import java.awt.*;
import java.awt.geom.*;


public class insertTiledTextWatermark {
    public static void main(String[] args) {

        //创建PdfDocument类的对象
        PdfDocument pdf = new PdfDocument();

        //载入PDF文件
        pdf.loadFromFile("人的注意力很容易分散.pdf");

        //循环遍历PDF文档中的所有页面以逐个添加水印
        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("黑体", Font.BOLD, 20));
        for (int i = 0; i < pdf.getPages().getCount(); i++){
            PdfPageBase pageBase = pdf.getPages().get(i);
            insertTextWatermark(pageBase, font, "请勿复制", 3, 3);
        }

        //保存文档
        pdf.saveToFile("平铺文字水印.pdf");
    }

    static void insertTextWatermark(PdfPageBase page, PdfTrueTypeFont font, String watermark, int row, int column) {

        //计算两个偏移变量的值以用于计算坐标的平移量
        float set1 = (float)(font.measureString(watermark).getWidth() * Math.sqrt(2)/4);
        float set2 = (float)(font.measureString(watermark).getHeight() * Math.sqrt(2)/4);

        //创建一个平铺笔刷
        PdfTilingBrush brush = new PdfTilingBrush(new Dimension((int) (page.getActualSize().getWidth()/column), (int) (page.getActualSize().getHeight()/row)));
        brush.getGraphics().setTransparency(0.3f);
        brush.getGraphics().save();
        brush.getGraphics().translateTransform(brush.getSize().getWidth()/2 - set1 - set2, brush.getSize().getHeight()/2 + set1 - set2);
        brush.getGraphics().rotateTransform(-45);

        //绘制水印文本到平铺笔刷
        brush.getGraphics().drawString(watermark, font, PdfBrushes.getViolet(), 0, 0);
        brush.getGraphics().restore();

        //使用该平铺笔刷绘制水印
        page.getCanvas().drawRectangle(brush, new Rectangle(new Point(0, 0), new Dimension((int)(page.getActualSize().getWidth()), (int)(page.getActualSize().getHeight()))));
    }
}

结果:

 

5.Spire.Barcode for Java服务的介绍

Spire.Barcode for Java 是一款基于 Java 语言开发的,专门对条形码进行操作的类库。这款产品的主要功能在于帮助开发人员轻松快捷高效地生成、读取和扫描一维条码和二维条码。

Spire.Barcode for Java 使用者可以仅通过一两行代码来创建自己需要的条形码类型及数据,并整合应用到开发程序上。同时兼容大部分国产操作系统,能够在中标麒麟和中科方德等国产操作系统中正常运行。Spire.Barcode 支持各种常见的图片格式,比如 Bitmap,JPG,PNG,EMF,TIFF,GIF 和 WMF。

Spire.Barcode for Java几个简单应用

eg1:创建条形码

<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.barcode</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>
import com.spire.barcode.BarCodeGenerator;
import com.spire.barcode.BarCodeType;
import com.spire.barcode.BarcodeSettings;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class CreateBarcode {
    public static void main(String[] args) throws IOException {
        BarcodeSettings settings = new BarcodeSettings();//创建BarcodeSettings实例
        settings.setType(BarCodeType.Code_128);//指定条码类型
        settings.setData("123456789123");//设置条码数据
        settings.setData2D("123456789123");//设置条码显示数据
        settings.setShowText(true);//显示数据文本
        settings.setShowTextOnBottom(true);//设置数据文本显示在条码底部
        settings.setX(0.8f);//设置黑白条宽度
        settings.setImageHeight(50);//设置生成的条码图片高度
        settings.setImageWidth(70);//设置生成的条码图片宽度
        settings.hasBorder(true);//设置边框可见
        settings.setBorderColor(new Color(135,206,250));//设置条码边框颜色
        settings.setBorderWidth(1);//设置条码边框宽度
        settings.setBackColor(new Color(240,255,255));//设置条码背景色
        BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);//创建BarCodeGenerator实例
        BufferedImage bufferedImage = barCodeGenerator.generateImage();//根据settings生成图像数据,保存至BufferedImage实例
        ImageIO.write(bufferedImage, "png", new File("Code_128.png"));//保存条码为PNG图片
    }
}

结果:

 

eg2:识别条形码

import com.spire.barcode.BarCodeType;
import com.spire.barcode.BarcodeScanner;

public class SpireBarcode_test {

	public static void main(String[] args) throws Exception {
        //使用scan方法从图片中识别Code 128条形码
        String[] datas = BarcodeScanner.scan("C:\\code128.jpg", BarCodeType.Code_128);       
        System.out.print(datas[0]);
	}
}

eg3:生成QR二维码

//创建BarcodeSettings实例
BarcodeSettings settings = new BarcodeSettings();
//设置条码类型为QR二维码
settings.setType(BarCodeType.QR_Code);       
//设置二维码数据
settings.setData("Hello 123456789");
//设置二维码显示数据
settings.setData2D("Hello 123456789");     
//设置数据类型
settings.setQRCodeDataMode(QRCodeDataMode.Alpha_Number);
//设置二维码模型宽度
settings.setX(1.0f);
//设置二维码纠错级别
settings.setQRCodeECL(QRCodeECL.H);

//创建BarCodeGenerator实例
BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);
//根据settings生成图像数据,保存至BufferedImage实例
BufferedImage bufferedImage = barCodeGenerator.generateImage();
//保存为PNG图片
ImageIO.write(bufferedImage, "png", new File("QRCode.png"));
System.out.println("Complete!");

结果:

 

 

 

0条评论
作者已关闭评论
摸鱼不会胖
3文章数
0粉丝数
摸鱼不会胖
3 文章 | 0 粉丝

Spire.office for java组件介绍以及应用

2023-08-21 06:57:28
114
0

1.Spire.Doc for Java 服务的介绍

Spire.Doc for Java 是一款专业的 Java Word 组件,开发人员使用它可以轻松地将 Word 文档创建、读取、编辑、转换和打印等功能集成到自己的 Java 应用程序中。作为一款完全独立的组件,Spire.Doc for Java 的运行环境无需安装 Microsoft Office。同时兼容大部分国产操作系统,能够在中标麒麟和中科方德等国产操作系统中正常运行。Spire.Doc for Java 支持 WPS 生成的 Word 格式文档(.wps, .wpt)。

Spire.Doc for Java 能执行多种 Word 文档处理任务,包括生成、读取、转换和打印 Word 文档,插入图片,添加页眉和页脚,创建表格,添加表单域和邮件合并域,添加书签,添加文本和图片水印,设置背景颜色和背景图片,添加脚注和尾注,添加超链接、数字签名,加密和解密 Word 文档,添加批注,添加形状等。

Spire.Doc for Java 几个简单应用:

eg1:文档转换——以Word转PDF为例

<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc</artifactId>
        <version>11.8.1</version>
    </dependency>
</dependencies>
import com.spire.doc.*;

public class WordToPDF
{
    public static void main(String[] args) {
        //实例化Document类的对象
        Document doc = new Document();

        //加载Word
        doc.loadFromFile("测试.docx");

        //保存为PDF格式
        doc.saveToFile("WordToPDF.pdf",FileFormat.PDF);
    }
}

结果:

eg2:文档操作——在Word中嵌入多媒体(视频、音频)文件

<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc</artifactId>
        <version>11.8.1</version>
    </dependency>
</dependencies>
import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.ParagraphStyle;
import com.spire.doc.fields.DocPicture;

import java.awt.*;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class EmbedMediaFile {
    public static void main(String[] args)throws IOException {
        //实例化Document类的对象,并添加Section
        Document doc = new Document();
        Section section = doc.addSection();

        //定义段落样式
        ParagraphStyle style1 = new ParagraphStyle(doc);
        style1.setName("Style");
        style1.getCharacterFormat().setFontName("Calibri");
        style1.getCharacterFormat().setFontSize(18);
        style1.getCharacterFormat().setBold(true);
        style1.getCharacterFormat().setTextColor(new Color(123,104,238));
        doc.getStyles().add(style1);

        //添加段落1,嵌入视频文件
        Paragraph para1 = section.addParagraph();
        para1.appendText("嵌入视频文件:");
        para1.applyStyle(style1.getName());
        InputStream stream1 = new FileInputStream("Video.mp4");
        DocPicture pic1 = new DocPicture(doc);
        pic1.loadImage("logo1.png");
        para1.appendOleObject(stream1, pic1, "mp4");

        //添加一个空白段落2
        Paragraph para2 = section.addParagraph();

        //添加段落3,嵌入音频文件
        Paragraph para3 = section.addParagraph();
        para3.appendText("嵌入音频文件:");
        para3.applyStyle(style1.getName());
        InputStream stream2 = new FileInputStream("Audio.mp3");
        DocPicture pic2 = new DocPicture(doc);
        pic2.loadImage("logo2.png");
        para3.appendOleObject(stream2, pic2, "mp3");

        //保存文档
        doc.saveToFile("Result.docx", FileFormat.Docx_2013);
    }
}

结果:

eg3:水印操作——添加文本水印和图片水印

	import com.spire.doc.*;
import com.spire.doc.documents.WatermarkLayout;
import java.awt.*;

public class WordTextWatermark {
    public static void main(String[] args) {
        //创建一个Document实例
        Document document = new Document();

        //加载示例 Word 文档
        document.loadFromFile("示例文档.docx");

        //获取第一节
        Section section = document.getSections().get(0);

        //创建一个 TextWatermark 实例
        TextWatermark txtWatermark = new TextWatermark();

        //设置文本水印格式
        txtWatermark.setText("内部使用");
        txtWatermark.setFontSize(40);
        txtWatermark.setColor(Color.red);
        txtWatermark.setLayout(WatermarkLayout.Diagonal);

        //将文本水印添加到示例文档
        section.getDocument().setWatermark(txtWatermark);

        //保存文件
        document.saveToFile("添加文本水印.docx", FileFormat.Docx);
    }

结果:

import com.spire.doc.*;


public class WordImageWatermark {
    public static void main(String[] args)  throws Exception{
        //创建一个Document实例
        Document document = new Document();

        //加载示例 Word 文档
        document.loadFromFile("示例文档.docx");

        //创建一个 PictureWatermark 实例
        PictureWatermark picture = new PictureWatermark();

        //设置图像水印格式
        picture.setPicture("logo.png");
        picture.setScaling(100);
        picture.isWashout(false);

        //将图像水印添加到示例文档中
        document.setWatermark(picture);

        //保存文件
        document.saveToFile("添加图像水印.docx",FileFormat.Docx );
    }
}

结果:

 

2.Spire.XLS for Java服务介绍

Spire.XLS for Java 支持多种 Excel 文件格式,包括 Excel 97-2003 格式(.xls),以及 Excel 2007、2010、2013、2016 和 2019 格式(.xlsx, .xlsb, .xlsm),此外,它还支持 Open Office(.ods)格式。同时兼容大部分国产操作系统,能够在中标麒麟和中科方德等国产操作系统中正常运行。
Spire.XLS for Java 提供了一系列丰富的操作 Excel 的功能,例如创建、读取、编辑、转换和打印 Excel 工作表,查找和替换数据,创建图表,创建自动筛选器,读取和插入超链接,合并或取消合并单元格,合并 Excel 文档,组合或取消组合 Excel 行和列,冻结或取消冻结窗口,数字签名,加密或解密 Excel 工作表等。

Spire.XLS for Java的几个简单应用

eg1:文档转换——将Excel转为PDF

<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>13.8.1</version>
    </dependency>
</dependencies>
import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;

public class ConvertExcelToPdf {

    public static void main(String[] args) {

        //创建一个Workbook实例并加载Excel文件
        Workbook workbook = new Workbook();
        workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.xlsx");

        //设置转换后的PDF页面高宽适应工作表的内容大小
        workbook.getConverterSetting().setSheetFitToPage(true);

        //将生成的文档保存到指定路径
        workbook.saveToFile("output/ExcelToPdf", FileFormat.PDF);
    }
}

结果:

 

eg2:图片操作——Excel中插入和提取图片

import com.spire.xls.ExcelPicture;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class InsertImage {
    public static void main(String[] args){
        //创建Workbook实例
        Workbook workbook = new Workbook();
        //加载Excel文档
        workbook.loadFromFile("Input.xlsx");
        //获取第一张工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        //添加图片到工作表的指定位置
        ExcelPicture pic = sheet.getPictures().add(4, 1,"image.jpg");
        //设置图片的宽度和高度
        pic.setWidth(500);
        pic.setHeight(300);

        //保存文档
        workbook.saveToFile("InsertImage.xlsx", ExcelVersion.Version2013);
    }
}

结果:

import com.spire.xls.ExcelPicture;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class ReadImage {
    public static void main(String[] args) throws IOException {
        //创建Workbook实例
        Workbook workbook = new Workbook();
        //加载Excel文档
        workbook.loadFromFile("InsertImage.xlsx");

        //获取第一张工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        //获取工作表中第一张图片并保存到指定路径
        ExcelPicture pic = sheet.getPictures().get(0);
        BufferedImage loImage = pic.getPicture();
        ImageIO.write(loImage,"jpg",new File("output/ReadImage.jpg"));
    }
}

结果:

 

eg3:水印——添加文本水印和图片水印

import com.spire.xls.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import static java.awt.image.BufferedImage.TYPE_INT_ARGB;

public class ExcelWatermark {
    public static void main(String[] args)  {

        //加载示例文档
        Workbook workbook = new Workbook();
        workbook.loadFromFile("Sample.xlsx");

        //设置文本和字体大小
        Font font = new Font("仿宋", Font.PLAIN, 40);
        String watermark = "内部专用";

        for (Worksheet sheet : (Iterable<Worksheet>) workbook.getWorksheets()) {
            //调用DrawText() 方法插入图片
            BufferedImage imgWtrmrk = drawText(watermark, font, Color.pink, Color.white, sheet.getPageSetup().getPageHeight(), sheet.getPageSetup().getPageWidth());

            //将图片设置为页眉
            sheet.getPageSetup().setLeftHeaderImage(imgWtrmrk);
            sheet.getPageSetup().setLeftHeader("&G");

            //将显示模式设置为Layout
            sheet.setViewMode(ViewMode.Layout);
        }

        //保存文档
        workbook.saveToFile("Watermark.xlsx", ExcelVersion.Version2010);
    }
    private static BufferedImage drawText (String text, Font font, Color textColor, Color backColor,double height, double width)
    {
        //定义图片宽度和高度
        BufferedImage img = new BufferedImage((int) width, (int) height, TYPE_INT_ARGB);
        Graphics2D loGraphic = img.createGraphics();

        //获取文本size
        FontMetrics loFontMetrics = loGraphic.getFontMetrics(font);
        int liStrWidth = loFontMetrics.stringWidth(text);
        int liStrHeight = loFontMetrics.getHeight();

        //文本显示样式及位置
        loGraphic.setColor(backColor);
        loGraphic.fillRect(0, 0, (int) width, (int) height);
        loGraphic.translate(((int) width - liStrWidth) / 2, ((int) height - liStrHeight) / 2);
        loGraphic.rotate(Math.toRadians(-45));

        loGraphic.translate(-((int) width - liStrWidth) / 2, -((int) height - liStrHeight) / 2);
        loGraphic.setFont(font);
        loGraphic.setColor(textColor);
        loGraphic.drawString(text, ((int) width - liStrWidth) / 2, ((int) height - liStrHeight) / 2);
        loGraphic.dispose();
        return img;
    }
}

结果:

 

3.Spire.Presentation for Java服务的介绍

Spire.Presentation for Java 是一个专业的 PowerPoint API,它允许开发人员在 Java 应用程序中创建、读取、写入、转换和保存 PowerPoint 文档。作为一款独立的 Java 组件,Spire.Presentation for Java 的运行环境无需安装 Microsoft PowerPoint。同时兼容大部分国产操作系统,能够在中标麒麟和中科方德等国产操作系统中正常运行。

Spire.Presentation for Java 支持功能十分丰富,如添加/编辑/删除幻灯片,创建图表、表格,添加项目符号,加密和解密 PPT,添加水印,插入超链接、音频和视频,段落设置,文档属性设置,插入/提取图片,提取文本,设置动画,添加页眉和页脚,添加/删除批注,创建 SmartArt 等。

 

Spire.Presentation for Java几个简单应用

eg1:转换——PPT转XPS

<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.presentation</artifactId>
        <version>8.7.3</version>
    </dependency>
</dependencies>
import com.spire.presentation.*;

public class PPTtoXPS {
    public static void main(String[] args) throws  Exception{
        //创建Presentation类的对象
        Presentation ppt = new Presentation();

        //加载幻灯片文档
        ppt.loadFromFile("input.pptx");

        //保存为XPS格式
        ppt.saveToFile("ToXPS.xps",FileFormat.XPS);
        ppt.dispose();
    }
}

结果:

 

eg2:PPT添加、隐藏、删除幻灯片

import com.spire.presentation.*;

public class Slides {
    public static void main(String[] args) throws Exception {

        //创建一个PowerPoint文档并加载示例文档

        Presentation presentation = new Presentation();
        presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pptx");
        
        //在文档末尾添加新幻灯
        presentation.getSlides().append();

        //在第二页插入空白幻灯片
        presentation.getSlides().insert(1);

       //保存文档
        presentation.saveToFile("output/AddSlide.pptx", FileFormat.PPTX_2010);
    }

}

结果:

import com.spire.presentation.*;

public class Slides {
    public static void main(String[] args) throws Exception {

        //创建一个PowerPoint文档并加载示例文档
        Presentation presentation = new Presentation();
        presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pptx");

        //隐藏第二张幻灯片
        presentation.getSlides().get(1).setHidden(true);

        //保存文档
        presentation.saveToFile("output/Hideslide.pptx", FileFormat.PPTX_2010);
    }

}

结果:

import com.spire.presentation.*;

public class Slides {
    public static void main(String[] args) throws Exception {

        //创建一个PowerPoint文档并加载示例文档
        Presentation presentation = new Presentation();
        presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pptx");

        //删除第二张幻灯片
        presentation.getSlides().removeAt(1);

        //保存文档
        presentation.saveToFile("output/Removeslide.pptx", FileFormat.PPTX_2010);
    }

}

结果:

eg3:水印——給PPT添加文档水印

import com.spire.presentation.*;
import com.spire.presentation.drawing.FillFormatType;
import java.awt.*;
import java.awt.geom.Rectangle2D;

public class watermark {
    public static void main(String[] args) throws Exception {

        //创建presentation对象并加载示例文档
        Presentation presentation = new Presentation();
        presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pptx");

        //设置文本水印的宽和高
        int width= 400;
        int height= 300;

        //定义一个长方形区域
        Rectangle2D.Double rect = new Rectangle2D.Double((presentation.getSlideSize().getSize().getWidth() - width) / 2,
                (presentation.getSlideSize().getSize().getHeight() - height) / 2, width, height);

        //添加一个shape到定义区域
        IAutoShape shape = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.RECTANGLE, rect);

        //设置shape样式
        shape.getFill().setFillType(FillFormatType.NONE);
        shape.getShapeStyle().getLineColor().setColor(Color.white);
        shape.setRotation(-45);
        shape.getLocking().setSelectionProtection(true);
        shape.getLine().setFillType(FillFormatType.NONE);

        //添加文本到shape
        shape.getTextFrame().setText("内部使用");
        PortionEx textRange = shape.getTextFrame().getTextRange();

        //设置文本水印样式
        textRange.getFill().setFillType(FillFormatType.SOLID);
        textRange.getFill().getSolidColor().setColor(Color.pink);
        textRange.setFontHeight(50);

        //保存文档
        presentation.saveToFile("output/result.pptx", FileFormat.PPTX_2010);
    }

}

结果:

 

4.Spire.PDF for Java服务的介绍

Spire.PDF for Java 是一款专门对 PDF 文档进行操作的 Java 类库。该类库的主要功能在于帮助开发人员在 Java 应用程序(J2SE 和 J2EE)中生成 PDF 文档和操作现有 PDF 文档,并且运行环境无需安装 Adobe Acrobat。同时兼容大部分国产操作系统,能够在中标麒麟和中科方德等国产操作系统中正常运行。

Spire.PDF for Java 支持的功能非常丰富,例如 PDF 文档安全性设置,提取文本和图片,合并和拆分 PDF,画文本、图片、形状、条形码到 PDF,打印 PDF,创建和填充表单,添加和删除层,重叠 PDF 页面,添加文本/图片水印,添加、更新、删除 PDF 书签,添加表格,压缩 PDF 文档等。此外,Spire.PDF for Java 还支持将 PDF 文档高质量地转换为 XPS、图片、Excel、SVG、Word、HTML、OFD 和 PDF/A 格式,以及将 SVG、XPS 和 HTML 文档高质量地转换为 PDF 格式。

Spire.PDF for Java几个简单应用

eg1:文档转换——PDF转Excel

<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.pdf</artifactId>
        <version>9.7.8</version>
    </dependency>
</dependencies>
import com.spire.pdf.*;

public class PDFtoExcel {
    public static void main(String[] args) {
        //创建PdfDocument实例
        PdfDocument pdf = new PdfDocument();

        //加载PDF文档
        pdf.loadFromFile("test.pdf");

        //保存为Excel
        pdf.saveToFile("PDFToXLS.xlsx", FileFormat.XLSX);
    }
}

结果:

 

eg2:水印——PDF添加文档水印

import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

import java.awt.*;

public class insertSingleTextWaterMark {
    public static void main(String[] args) {

        //创建PdfDocument类的对象
        PdfDocument pdf = new PdfDocument();

        //载入PDF文档
        pdf.loadFromFile("人的注意力很容易分散.pdf");

        //循环遍历 PDF 文档中的所有页面以逐个添加水印
        String text = "草稿";
        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("黑体", Font.BOLD, 50));
        float set1 = (float) (font.measureString(text).getWidth() * Math.sqrt(2)/4);
        float set2 = (float) (font.measureString(text).getHeight() * Math.sqrt(2)/4);
        for (int i = 0; i < pdf.getPages().getCount(); i++){
            //获取一个页面
            PdfPageBase page = pdf.getPages().get(i);
            //设置水印文字的透明度
            page.getCanvas().setTransparency(0.8f);
            //设置坐标的偏移量
            page.getCanvas().translateTransform(page.getCanvas().getSize().getWidth()/2 - set1 - set2, page.getCanvas().getSize().getHeight()/2 + set1 - set2);
            //设置水印文字的旋转角度
            page.getCanvas().rotateTransform(-45);
            //将水印绘制在该页面上
            page.getCanvas().drawString(text, font, PdfBrushes.getDarkGray(), 0, 0);
        }

        //保存文档
        pdf.saveToFile("单一文字水印.pdf");
    }
}

结果:

 

eg3:PDF添加图片水印

import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import com.spire.pdf.htmlconverter.qt.Size;

import java.awt.*;
import java.awt.geom.*;


public class insertTiledTextWatermark {
    public static void main(String[] args) {

        //创建PdfDocument类的对象
        PdfDocument pdf = new PdfDocument();

        //载入PDF文件
        pdf.loadFromFile("人的注意力很容易分散.pdf");

        //循环遍历PDF文档中的所有页面以逐个添加水印
        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("黑体", Font.BOLD, 20));
        for (int i = 0; i < pdf.getPages().getCount(); i++){
            PdfPageBase pageBase = pdf.getPages().get(i);
            insertTextWatermark(pageBase, font, "请勿复制", 3, 3);
        }

        //保存文档
        pdf.saveToFile("平铺文字水印.pdf");
    }

    static void insertTextWatermark(PdfPageBase page, PdfTrueTypeFont font, String watermark, int row, int column) {

        //计算两个偏移变量的值以用于计算坐标的平移量
        float set1 = (float)(font.measureString(watermark).getWidth() * Math.sqrt(2)/4);
        float set2 = (float)(font.measureString(watermark).getHeight() * Math.sqrt(2)/4);

        //创建一个平铺笔刷
        PdfTilingBrush brush = new PdfTilingBrush(new Dimension((int) (page.getActualSize().getWidth()/column), (int) (page.getActualSize().getHeight()/row)));
        brush.getGraphics().setTransparency(0.3f);
        brush.getGraphics().save();
        brush.getGraphics().translateTransform(brush.getSize().getWidth()/2 - set1 - set2, brush.getSize().getHeight()/2 + set1 - set2);
        brush.getGraphics().rotateTransform(-45);

        //绘制水印文本到平铺笔刷
        brush.getGraphics().drawString(watermark, font, PdfBrushes.getViolet(), 0, 0);
        brush.getGraphics().restore();

        //使用该平铺笔刷绘制水印
        page.getCanvas().drawRectangle(brush, new Rectangle(new Point(0, 0), new Dimension((int)(page.getActualSize().getWidth()), (int)(page.getActualSize().getHeight()))));
    }
}

结果:

 

5.Spire.Barcode for Java服务的介绍

Spire.Barcode for Java 是一款基于 Java 语言开发的,专门对条形码进行操作的类库。这款产品的主要功能在于帮助开发人员轻松快捷高效地生成、读取和扫描一维条码和二维条码。

Spire.Barcode for Java 使用者可以仅通过一两行代码来创建自己需要的条形码类型及数据,并整合应用到开发程序上。同时兼容大部分国产操作系统,能够在中标麒麟和中科方德等国产操作系统中正常运行。Spire.Barcode 支持各种常见的图片格式,比如 Bitmap,JPG,PNG,EMF,TIFF,GIF 和 WMF。

Spire.Barcode for Java几个简单应用

eg1:创建条形码

<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.barcode</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>
import com.spire.barcode.BarCodeGenerator;
import com.spire.barcode.BarCodeType;
import com.spire.barcode.BarcodeSettings;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class CreateBarcode {
    public static void main(String[] args) throws IOException {
        BarcodeSettings settings = new BarcodeSettings();//创建BarcodeSettings实例
        settings.setType(BarCodeType.Code_128);//指定条码类型
        settings.setData("123456789123");//设置条码数据
        settings.setData2D("123456789123");//设置条码显示数据
        settings.setShowText(true);//显示数据文本
        settings.setShowTextOnBottom(true);//设置数据文本显示在条码底部
        settings.setX(0.8f);//设置黑白条宽度
        settings.setImageHeight(50);//设置生成的条码图片高度
        settings.setImageWidth(70);//设置生成的条码图片宽度
        settings.hasBorder(true);//设置边框可见
        settings.setBorderColor(new Color(135,206,250));//设置条码边框颜色
        settings.setBorderWidth(1);//设置条码边框宽度
        settings.setBackColor(new Color(240,255,255));//设置条码背景色
        BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);//创建BarCodeGenerator实例
        BufferedImage bufferedImage = barCodeGenerator.generateImage();//根据settings生成图像数据,保存至BufferedImage实例
        ImageIO.write(bufferedImage, "png", new File("Code_128.png"));//保存条码为PNG图片
    }
}

结果:

 

eg2:识别条形码

import com.spire.barcode.BarCodeType;
import com.spire.barcode.BarcodeScanner;

public class SpireBarcode_test {

	public static void main(String[] args) throws Exception {
        //使用scan方法从图片中识别Code 128条形码
        String[] datas = BarcodeScanner.scan("C:\\code128.jpg", BarCodeType.Code_128);       
        System.out.print(datas[0]);
	}
}

eg3:生成QR二维码

//创建BarcodeSettings实例
BarcodeSettings settings = new BarcodeSettings();
//设置条码类型为QR二维码
settings.setType(BarCodeType.QR_Code);       
//设置二维码数据
settings.setData("Hello 123456789");
//设置二维码显示数据
settings.setData2D("Hello 123456789");     
//设置数据类型
settings.setQRCodeDataMode(QRCodeDataMode.Alpha_Number);
//设置二维码模型宽度
settings.setX(1.0f);
//设置二维码纠错级别
settings.setQRCodeECL(QRCodeECL.H);

//创建BarCodeGenerator实例
BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);
//根据settings生成图像数据,保存至BufferedImage实例
BufferedImage bufferedImage = barCodeGenerator.generateImage();
//保存为PNG图片
ImageIO.write(bufferedImage, "png", new File("QRCode.png"));
System.out.println("Complete!");

结果:

 

 

 

文章来自个人专栏
今天当个小阳人
3 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0