itextpdf 二维码[通俗易懂]

itextpdf 二维码[通俗易懂]itextpdf二维码

大家好,又见面了,我是你们的朋友全栈君。


itextpdf 二维码

                    

                      

***************

相关类与接口

          

BarcodeQRCode

public class BarcodeQRCode extends Barcode2D {
    ByteMatrix bm;
    Map<EncodeHintType, Object> hints;
    String code;


********
构造方法

    public BarcodeQRCode(String code, Map<EncodeHintType, Object> hints) {
    public BarcodeQRCode(String content) {
    public BarcodeQRCode() {


********
其他方法

    public void setCode(String code) {
    public void setHints(Map<EncodeHintType, Object> hints) {

    public void regenerate() {

    public String getCode() {
    public Rectangle getBarcodeSize() {
    public Map<EncodeHintType, Object> getHints() {
    public Rectangle getBarcodeSize(float moduleSize) {

    public Rectangle placeBarcode(PdfCanvas canvas, Color foreground) {
    public Rectangle placeBarcode(PdfCanvas canvas, Color foreground, float moduleSide) {

    public PdfFormXObject createFormXObject(Color foreground, PdfDocument document) {
    public PdfFormXObject createFormXObject(Color foreground, float moduleSize, PdfDocument document) {
    public Image createAwtImage(java.awt.Color foreground, java.awt.Color background) {

    private byte[] getBitMatrix() {

                

               

***************

示例

          

public class Test4 {

    private static final String dest = "./qrcode/1.pdf";
    private static final String dest2 = "./qrcode/2.pdf";

    public static void fun() throws Exception{  //image生成二维码,可调整二维码宽度、高度,扫描二维码会跳转到百度首页
        PdfDocument pdfDocument = new PdfDocument(new PdfWriter(dest));
        Document document = new Document(pdfDocument);

        BarcodeQRCode barcodeQRCode = new BarcodeQRCode();
        barcodeQRCode.setCode("http://www.baidu.com");

        Image image = new Image(barcodeQRCode.createFormXObject(pdfDocument));
        image.setWidth(200);
        image.setHeight(200);
        image.setFixedPosition(100,600);
        document.add(image);

        document.close();
    }

    public static void fun2() throws Exception{  //canvas绘制二维码,扫描二维码会跳转到百度首页
        PdfDocument pdfDocument = new PdfDocument(new PdfWriter(dest2));

        BarcodeQRCode barcodeQRCode = new BarcodeQRCode();
        barcodeQRCode.setCode("http://www.baidu.com");
        PdfFormXObject object = barcodeQRCode.createFormXObject(ColorConstants.BLACK,pdfDocument);

        float x = 100;
        float y = 750;
        float width = object.getWidth();
        float height = object.getHeight();

        PdfCanvas canvas = new PdfCanvas(pdfDocument.addNewPage());
        canvas.saveState();
        canvas.setFillColor(ColorConstants.WHITE);
        canvas.rectangle(x, y, width, height);
        canvas.fill();
        canvas.restoreState();
        canvas.addXObjectAt(object, x, y);

        pdfDocument.close();
    }

    public static void main(String[] args) throws Exception{
        fun();
        fun2();
    }
}

              

image生成二维码

                 itextpdf 二维码[通俗易懂]

               

canas绘制二维码

                 itextpdf 二维码[通俗易懂]

           

                  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148869.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 解决安装MATLAB2018b时出现License Manager Error -8(许可证管理器错误)的问题

    解决安装MATLAB2018b时出现License Manager Error -8(许可证管理器错误)的问题原博文的地址 1、解压的时候要将两个iso解压到同一个文件夹,意思是第一个解压得到R2018_win_dvd1,第二个解压得到R2018_win_dvd2,要将第二个文件夹里的内容复制到第一个文件夹中。2、matlab2018b是没有R2018b这个文件夹的,其他教程里说什么将netapi32….

    2022年7月26日
    113
  • openGL之API学习(六十九)水平同步 垂直同步「建议收藏」

    openGL之API学习(六十九)水平同步 垂直同步「建议收藏」垂直和水平是CRT中两个基本的同步信号,水平同步信号决定了CRT画出一条横越屏幕线的时间,垂直同步信号决定了CRT从屏幕顶部画到底部,再返回原始位置的时间,而恰恰是垂直同步代表着CRT显示器的刷新率水平!垂直同步打开,那么在游戏中,或许强劲的显卡迅速的绘制完一屏的图像,但是没有垂直同步信号的到达,显卡无法绘制下一屏,只有等垂直同步信号到达,才可以绘制。这样fps自然要受到操作系统刷新率运行值的…

    2022年5月21日
    30
  • pta 列车调度_PTA 7-10 列车调度

    pta 列车调度_PTA 7-10 列车调度火车站的列车调度铁轨的结构如下图所示。两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度?输入格式:输入第一行给出一个整数N(2…

    2022年7月26日
    6
  • 到底什么是权限?我们应该如何正确理解“权限定义”(请高手指点)

    到底什么是权限?我们应该如何正确理解“权限定义”(请高手指点)

    2021年8月17日
    123
  • 【python】lambda表达式与排序

    【python】lambda表达式与排序lambda表达式简单易用的匿名函数文章目录lambda表达式1.什么是lambda表达式2.lambda表达式语法3.lambda表达式的主要用途3.1list.sort()函数3.2自定义属性排序3.3常见的小问题3.4二维列表的排序1.什么是lambda表达式在学习lambda表达式之前,我们先写一个求圆的面积的函数defget_area(radius):return3.14*radius**2radius=float(input())pri

    2022年10月17日
    0
  • WebStorm 格式化代码快捷键

    WebStorm 格式化代码快捷键原文链接:https://kaifazhinan.com/webstorm-formatting-code-shortcuts/现在平时都是使用VSCode作为日常开发工具,偶尔会打开WebStorm临时使用一下,但是却经常忘记格式化代码的快捷键,放在这里防止遗忘。WindowsWindows系统下WebStorm格式化代码的快键键为:Ctrl+Alt+l…

    2022年4月27日
    83

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号