📄 barcode.java
字号:
/*
* $Id: Barcode.java 2505 2006-12-20 10:12:33Z blowagie $
*
* Copyright 2002-2006 by Paulo Soares.
*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the License.
*
* The Original Code is 'iText, a free JAVA-PDF library'.
*
* The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
* the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie.
* All Rights Reserved.
* Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
* are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved.
*
* Contributor(s): all the names of the contributors are added in the source code
* where applicable.
*
* Alternatively, the contents of this file may be used under the terms of the
* LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the
* provisions of LGPL are applicable instead of those above. If you wish to
* allow use of your version of this file only under the terms of the LGPL
* License and not to allow others to use your version of this file under
* the MPL, indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by the LGPL.
* If you do not delete the provisions above, a recipient may use your version
* of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE.
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the MPL as stated above or under the terms of the GNU
* Library General Public License as published by the Free Software Foundation;
* either version 2 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more
* details.
*
* If you didn't download this code from the following link, you should check if
* you aren't using an obsolete version:
* http://www.lowagie.com/iText/
*/
package com.lowagie.text.pdf;
import java.awt.Color;
import com.lowagie.text.ExceptionConverter;
import com.lowagie.text.Image;
import com.lowagie.text.Rectangle;
/** Base class containing properties and methods commom to all
* barcode types.
*
* @author Paulo Soares (psoares@consiste.pt)
*/
public abstract class Barcode {
/** A type of barcode */
public static final int EAN13 = 1;
/** A type of barcode */
public static final int EAN8 = 2;
/** A type of barcode */
public static final int UPCA = 3;
/** A type of barcode */
public static final int UPCE = 4;
/** A type of barcode */
public static final int SUPP2 = 5;
/** A type of barcode */
public static final int SUPP5 = 6;
/** A type of barcode */
public static final int POSTNET = 7;
/** A type of barcode */
public static final int PLANET = 8;
/** A type of barcode */
public static final int CODE128 = 9;
/** A type of barcode */
public static final int CODE128_UCC = 10;
/** A type of barcode */
public static final int CODE128_RAW = 11;
/** A type of barcode */
public static final int CODABAR = 12;
/** The minimum bar width.
*/
protected float x;
/** The bar multiplier for wide bars or the distance between
* bars for Postnet and Planet.
*/
protected float n;
/** The text font. <CODE>null</CODE> if no text.
*/
protected BaseFont font;
/** The size of the text or the height of the shorter bar
* in Postnet.
*/
protected float size;
/** If positive, the text distance under the bars. If zero or negative,
* the text distance above the bars.
*/
protected float baseline;
/** The height of the bars.
*/
protected float barHeight;
/** The text alignment. Can be <CODE>Element.ALIGN_LEFT</CODE>,
* <CODE>Element.ALIGN_CENTER</CODE> or <CODE>Element.ALIGN_RIGHT</CODE>.
*/
protected int textAlignment;
/** The optional checksum generation.
*/
protected boolean generateChecksum;
/** Shows the generated checksum in the the text.
*/
protected boolean checksumText;
/** Show the start and stop character '*' in the text for
* the barcode 39 or 'ABCD' for codabar.
*/
protected boolean startStopText;
/** Generates extended barcode 39.
*/
protected boolean extended;
/** The code to generate.
*/
protected String code = "";
/** Show the guard bars for barcode EAN.
*/
protected boolean guardBars;
/** The code type.
*/
protected int codeType;
/** The ink spreading. */
protected float inkSpreading = 0;
/** Gets the minimum bar width.
* @return the minimum bar width
*/
public float getX() {
return x;
}
/** Sets the minimum bar width.
* @param x the minimum bar width
*/
public void setX(float x) {
this.x = x;
}
/** Gets the bar multiplier for wide bars.
* @return the bar multiplier for wide bars
*/
public float getN() {
return n;
}
/** Sets the bar multiplier for wide bars.
* @param n the bar multiplier for wide bars
*/
public void setN(float n) {
this.n = n;
}
/** Gets the text font. <CODE>null</CODE> if no text.
* @return the text font. <CODE>null</CODE> if no text
*/
public BaseFont getFont() {
return font;
}
/** Sets the text font.
* @param font the text font. Set to <CODE>null</CODE> to suppress any text
*/
public void setFont(BaseFont font) {
this.font = font;
}
/** Gets the size of the text.
* @return the size of the text
*/
public float getSize() {
return size;
}
/** Sets the size of the text.
* @param size the size of the text
*/
public void setSize(float size) {
this.size = size;
}
/** Gets the text baseline.
* If positive, the text distance under the bars. If zero or negative,
* the text distance above the bars.
* @return the baseline.
*/
public float getBaseline() {
return baseline;
}
/** Sets the text baseline.
* If positive, the text distance under the bars. If zero or negative,
* the text distance above the bars.
* @param baseline the baseline.
*/
public void setBaseline(float baseline) {
this.baseline = baseline;
}
/** Gets the height of the bars.
* @return the height of the bars
*/
public float getBarHeight() {
return barHeight;
}
/** Sets the height of the bars.
* @param barHeight the height of the bars
*/
public void setBarHeight(float barHeight) {
this.barHeight = barHeight;
}
/** Gets the text alignment. Can be <CODE>Element.ALIGN_LEFT</CODE>,
* <CODE>Element.ALIGN_CENTER</CODE> or <CODE>Element.ALIGN_RIGHT</CODE>.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -