itextpdf 简介
官网:iText 7
*********************
简 介
iText 7 is the latest version of iText's powerful PDF Toolkit for
PDF generation, PDF programming, handling & manipulation, such as
digital signing and more
# itext7是itext最新的pdf处理工具,可以用来生成pdf文档、pdf编程、执行数字签名等其他操作
itext7-core:包含很多itext开发所需的包
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>7.2.0</version>
<type>pom</type>
</dependency>
*********************
相关类与接口
PdfDocument
public class PdfDocument implements IEventDispatcher, Closeable {
private static IPdfPageFactory pdfPageFactory = new PdfPageFactory();
private PageSize defaultPageSize; //pdf页面大小
protected EventDispatcher eventDispatcher;
protected PdfWriter writer; //写入pdf文件
protected PdfReader reader; //读取pdf文件
protected byte[] xmpMetadata;
protected PdfCatalog catalog;
protected PdfDictionary trailer; //pdf字典:内有map,key为pdfName、value为pdf对象
protected PdfDocumentInfo info; //pdf文档信息:作者、标题、关键字、创建时间等
protected PdfVersion pdfVersion; //pdf版本
private PdfString originalDocumentId;
private PdfString modifiedDocumentId;
final PdfXrefTable xref;
protected FingerPrint fingerPrint;
protected final StampingProperties properties;
protected PdfStructTreeRoot structTreeRoot;
protected int structParentIndex;
protected boolean closeReader;
protected boolean closeWriter;
protected boolean isClosing;
protected boolean closed;
protected boolean flushUnusedObjects;
private Map<PdfIndirectReference, PdfFont> documentFonts;
private PdfFont defaultFont;
protected TagStructureContext tagStructureContext;
private SequenceId documentId;
private LinkedHashMap<PdfPage, List<PdfLinkAnnotation>> linkAnnotations;
Map<PdfIndirectReference, byte[]> serializedObjectsCache;
MemoryLimitsAwareHandler memoryLimitsAwareHandler;
private EncryptedEmbeddedStreamsHandler encryptedEmbeddedStreamsHandler;
***********
构造方法
public PdfDocument(PdfReader reader) {
public PdfDocument(PdfReader reader, DocumentProperties properties) {
public PdfDocument(PdfWriter writer) {
public PdfDocument(PdfWriter writer, DocumentProperties properties) {
public PdfDocument(PdfReader reader, PdfWriter writer) {
public PdfDocument(PdfReader reader, PdfWriter writer, StampingProperties properties) {
***********
XmpMetadata
protected void setXmpMetadata(byte[] xmpMetadata) {
public void setXmpMetadata(XMPMeta xmpMeta, SerializeOptions serializeOptions) throws XMPException {
public void setXmpMetadata(XMPMeta xmpMeta) throws XMPException {
public byte[] getXmpMetadata() {
public byte[] getXmpMetadata(boolean createNew) {
***********
pdfObject
public PdfObject getPdfObject(int objNum) {
public int getNumberOfPdfObjects() {
***********
page
public PdfPage getPage(int pageNum) {
public PdfPage getPage(PdfDictionary pageDictionary) {
public PdfPage getFirstPage() {
public PdfPage getLastPage() {
public PdfPage addNewPage() {
public PdfPage addNewPage(PageSize pageSize) {
public PdfPage addNewPage(int index) {
public PdfPage addNewPage(int index, PageSize pageSize) {
public PdfPage addPage(PdfPage page) {
public PdfPage addPage(int index, PdfPage page) {
public int getNumberOfPages() {
public int getPageNumber(PdfPage page) {
public int getPageNumber(PdfDictionary pageDictionary) {
public boolean movePage(PdfPage page, int insertBefore) {
public void movePage(int pageNumber, int insertBefore) {
public boolean removePage(PdfPage page) {
public void removePage(int pageNum) {
public List<PdfPage> copyPagesTo(int pageFrom, int pageTo, PdfDocument toDocument, int insertBeforePage) {
public List<PdfPage> copyPagesTo(int pageFrom, int pageTo, PdfDocument toDocument, int insertBeforePage, IPdfPageExtraCopier copier) {
public List<PdfPage> copyPagesTo(int pageFrom, int pageTo, PdfDocument toDocument) {
public List<PdfPage> copyPagesTo(int pageFrom, int pageTo, PdfDocument toDocument, IPdfPageExtraCopier copier) {
public List<PdfPage> copyPagesTo(List<Integer> pagesToCopy, PdfDocument toDocument, int insertBeforePage) {
public List<PdfPage> copyPagesTo(List<Integer> pagesToCopy, PdfDocument toDocument, int insertBeforePage, IPdfPageExtraCopier copier) {
public List<PdfPage> copyPagesTo(List<Integer> pagesToCopy, PdfDocument toDocument) {
public List<PdfPage> copyPagesTo(List<Integer> pagesToCopy, PdfDocument toDocument, IPdfPageExtraCopier copier) {
public PageSize getDefaultPageSize() {
public void setDefaultPageSize(PageSize pageSize) {
public void flushCopiedObjects(PdfDocument sourceDoc) {
***********
font
public PdfFont getFont(PdfDictionary dictionary) {
public PdfFont getDefaultFont() {
public PdfFont addFont(PdfFont font) {
public PdfFont findFont(String fontProgram, String encoding) {
***********
文档信息
public PdfDocumentInfo getDocumentInfo() {
public PdfString getOriginalDocumentId() {
public PdfString getModifiedDocumentId() {
public long getDocumentId() {
public SequenceId getDocumentIdWrapper() {
***********
event
public void addEventHandler(String type, IEventHandler handler) {
public void dispatchEvent(Event event) {
public void dispatchEvent(Event event, boolean delayed) {
public boolean hasEventHandler(String type) {
public void removeEventHandler(String type, IEventHandler handler) {
public void removeAllHandlers() {
***********
reader、writer
public PdfWriter getWriter() {
public PdfReader getReader() {
***********
其他操作
public PdfCatalog getCatalog() {
public String[] getPageLabels() {
public PdfVersion getPdfVersion() {
public PdfDictionary getTrailer() {
public FingerPrint getFingerPrint() {
public int getNextStructParentIndex() {
public PdfStructTreeRoot getStructTreeRoot() {
public TagStructureContext getTagStructureContext() {
public PdfOutline getOutlines(boolean updateOutlines) {
public boolean isClosed() {
public boolean isTagged() {
public boolean isAppendMode() {
public boolean isCloseReader() {
public boolean isCloseWriter() {
public boolean isFlushUnusedObjects() {
public void close() {
public PdfDocument setTagged() {
public void setCloseReader(boolean closeReader) {
public void setCloseWriter(boolean closeWriter) {
public void setFlushUnusedObjects(boolean flushUnusedObjects) {
public boolean hasOutlines() {
public void initializeOutlines() {
public void addFileAttachment(String key, PdfFileSpec fs) {
public void addAssociatedFile(String description, PdfFileSpec fs) {
public PdfArray getAssociatedFiles() {
public PdfEncryptedPayloadDocument getEncryptedPayloadDocument() {
public void setEncryptedPayload(PdfFileSpec fs) {
public PdfIndirectReference createNextIndirectReference() {
public List<PdfIndirectReference> listIndirectReferences() {
public void addNamedDestination(String key, PdfObject value) {
public void addOutputIntent(PdfOutputIntent outputIntent) {
public void checkIsoConformance(Object obj, IsoKey key) {
public void checkIsoConformance(Object obj, IsoKey key, PdfResources resources, PdfStream contentStream) {
public void checkShowTextIsoConformance(CanvasGraphicsState gState, PdfResources resources) {
public void setUserProperties(boolean userProperties) {
public boolean registerProduct(ProductData productData) {
public void markStreamAsEmbeddedFile(PdfStream stream) {
PdfXrefTable getXref() {
boolean isDocumentFont(PdfIndirectReference indRef) {
boolean hasAcroForm() {
boolean doesStreamBelongToEmbeddedFile(PdfStream stream) {
protected void initTagStructureContext() {
protected void storeLinkAnnotation(PdfPage page, PdfLinkAnnotation annotation) {
protected void checkIsoConformance() {
protected void markObjectAsMustBeFlushed(PdfObject pdfObject) {
protected void flushObject(PdfObject pdfObject, boolean canBeInObjStm) throws IOException {
protected void open(PdfVersion newPdfVersion) {
protected void addCustomMetadataExtensions(XMPMeta xmpMeta) {
protected void updateXmpMetadata() {
protected XMPMeta updateDefaultXmpMetadata() throws XMPException {
protected Collection<PdfFont> getDocumentFonts() {
protected void flushFonts() {
protected void checkClosingStatus() {
protected IPdfPageFactory getPageFactory() {
protected void checkAndAddPage(PdfPage page) {
protected void checkAndAddPage(int index, PdfPage page) {
protected void tryInitTagStructure(PdfDictionary str) {
private void tryFlushTagStructure(boolean isAppendMode) {
private void updateValueInMarkInfoDict(PdfName key, PdfObject value) {
private void removeUnusedWidgetsFromFields(PdfPage page) {
private void copyLinkAnnotations(PdfDocument toDocument, Map<PdfPage, PdfPage> page2page) {
private void copyOutlines(Set<PdfOutline> outlines, PdfDocument toDocument, Map<PdfPage, PdfPage> page2page) {
private void getAllOutlinesToCopy(PdfOutline outline, Set<PdfOutline> outlinesToCopy) {
private void cloneOutlines(Set<PdfOutline> outlinesToCopy, PdfOutline newParent, PdfOutline oldParent, Map<PdfPage, PdfPage> page2page, PdfDocument toDocument) {
private void ensureTreeRootAddedToNames(PdfObject treeRoot, PdfName treeType) {
private boolean writerHasEncryption() {
private void updatePdfVersionFromCatalog() {
private void readDocumentIds() {
private void processReadingError(String errorMessage) {
private static void overrideFullCompressionInWriterProperties(WriterProperties properties, boolean readerHasXrefStream) {
private static boolean isXmpMetaHasProperty(XMPMeta xmpMeta, String schemaNS, String propName) throws XMPException {
Document
public class Document extends RootElement<Document> {
*******
构造方法
public Document(PdfDocument pdfDoc) {
public Document(PdfDocument pdfDoc, PageSize pageSize) {
public Document(PdfDocument pdfDoc, PageSize pageSize, boolean immediateFlush) {
*******
普通方法
public Document add(AreaBreak areaBreak) {
public Document add(IBlockElement element) {
public void setRenderer(DocumentRenderer documentRenderer) {
public float getTopMargin() {
public float getLeftMargin() {
public float getRightMargin() {
public float getBottomMargin() {
public void setTopMargin(float topMargin) {
public void setLeftMargin(float leftMargin) {
public void setRightMargin(float rightMargin) {
public void setBottomMargin(float bottomMargin) {
public void setMargins(float topMargin, float rightMargin, float bottomMargin, float leftMargin) {
public PdfDocument getPdfDocument() {
public <T1> T1 getDefaultProperty(int property) {
public Rectangle getPageEffectiveArea(PageSize pageSize) {
public void flush() {
public void relayout() {
public void close() {
if (this.rootRenderer != null) {
this.rootRenderer.close();
}
this.pdfDocument.close();
}
protected RootRenderer ensureRootRendererNotNull() {
protected void checkClosingStatus() {
RootElement
public abstract class RootElement<T extends IPropertyContainer> extends ElementPropertyContainer<T> implements Closeable {
protected boolean immediateFlush = true;
protected PdfDocument pdfDocument; //pdf文档
protected List<IElement> childElements = new ArrayList();
protected PdfFont defaultFont;
protected FontProvider defaultFontProvider;
protected ISplitCharacters defaultSplitCharacters;
protected RootRenderer rootRenderer;
private LayoutTaggingHelper defaultLayoutTaggingHelper;
public RootElement() {
}
public T add(IBlockElement element) {
public T add(Image image) {
public FontProvider getFontProvider() {
public void setFontProvider(FontProvider fontProvider) {
public void setProperty(int property, Object value) {
public <T1> T1 getProperty(int property) {
public boolean hasProperty(int property) {
public boolean hasOwnProperty(int property) {
public <T1> T1 getOwnProperty(int property) {
public void deleteOwnProperty(int property) {
public <T1> T1 getDefaultProperty(int property) {
public RootRenderer getRenderer() {
public T showTextAligned(String text, float x, float y, TextAlignment textAlign) {
public T showTextAligned(String text, float x, float y, TextAlignment textAlign, float angle) {
public T showTextAligned(String text, float x, float y, TextAlignment textAlign, VerticalAlignment vertAlign, float angle) {
public T showTextAligned(Paragraph p, float x, float y, TextAlignment textAlign) {
public T showTextAligned(Paragraph p, float x, float y, TextAlignment textAlign, VerticalAlignment vertAlign) {
public T showTextAligned(Paragraph p, float x, float y, int pageNumber, TextAlignment textAlign, VerticalAlignment vertAlign, float radAngle) {
public T showTextAlignedKerned(String text, float x, float y, TextAlignment textAlign, VerticalAlignment vertAlign, float radAngle) {
protected abstract RootRenderer ensureRootRendererNotNull();
protected void createAndAddRendererSubTree(IElement element) {
private LayoutTaggingHelper initTaggingHelperIfNeeded() {
private T addElement(IElement element) {
ElementPropertyContainer
public abstract class ElementPropertyContainer<T extends IPropertyContainer> extends AbstractIdentifiableElement implements IPropertyContainer {
protected Map<Integer, Object> properties = new HashMap();
public ElementPropertyContainer() {
}
*********
property
public boolean hasProperty(int property) {
public <T1> T1 getProperty(int property) {
public void setProperty(int property, Object value) {
public boolean hasOwnProperty(int property) {
public <T1> T1 getOwnProperty(int property) {
public void deleteOwnProperty(int property) {
public <T1> T1 getDefaultProperty(int property) {
*********
position
public T setRelativePosition(float left, float top, float right, float bottom) {
public T setFixedPosition(float left, float bottom, float width) {
public T setFixedPosition(float left, float bottom, UnitValue width) {
public T setFixedPosition(int pageNumber, float left, float bottom, float width) {
public T setFixedPosition(int pageNumber, float left, float bottom, UnitValue width) {
*********
font
public T setFont(PdfFont font) {
public T setFontFamily(String... fontFamilyNames) {
public T setFontFamily(List<String> fontFamilyNames) {
public T setFontColor(Color fontColor) {
public T setFontColor(Color fontColor, float opacity) {
public T setFontSize(float fontSize) {
public T setFontKerning(FontKerning fontKerning) {
public T setFontScript(UnicodeScript script) {
public T setBold() { //字体加粗
public T setItalic() { //字体倾斜
*********
background
public T setBackgroundColor(Color backgroundColor) {
public T setBackgroundColor(Color backgroundColor, float opacity) {
public T setBackgroundColor(Color backgroundColor, float extraLeft, float extraTop, float extraRight, float extraBottom) {
public T setBackgroundColor(Color backgroundColor, float opacity, float extraLeft, float extraTop, float extraRight, float extraBottom) {
public T setBackgroundImage(BackgroundImage image) {
public T setBackgroundImage(List<BackgroundImage> imagesList) {
*********
border
public T setBorder(Border border) {
public T setBorderTop(Border border) {
public T setBorderLeft(Border border) {
public T setBorderRight(Border border) {
public T setBorderBottom(Border border) {
public T setBorderRadius(BorderRadius borderRadius) {
public T setBorderTopLeftRadius(BorderRadius borderRadius) {
public T setBorderTopRightRadius(BorderRadius borderRadius) {
public T setBorderBottomRightRadius(BorderRadius borderRadius) {
public T setBorderBottomLeftRadius(BorderRadius borderRadius) {
public T setStrokeColor(Color strokeColor) {
public Color getStrokeColor() { //边框颜色
public T setStrokeWidth(float strokeWidth) {
public Float getStrokeWidth() { //边框宽度
*********
underline
public T setUnderline() { //文本加下划线
public T setLineThrough() { //文本加删除线
public T setUnderline(float thickness, float yPosition) {
public T setUnderline(Color color, float thickness, float thicknessMul, float yPosition, float yPositionMul, int lineCapStyle) {
public T setUnderline(Color color, float opacity, float thickness, float thicknessMul, float yPosition, float yPositionMul, int lineCapStyle) {
*********
其余操作
public T setHorizontalAlignment(HorizontalAlignment horizontalAlignment) {
public T setTextAlignment(TextAlignment alignment) { //文本对齐方式
public T setCharacterSpacing(float charSpacing) {
public T setWordSpacing(float wordSpacing) { //单词间距
public T setTextRenderingMode(int textRenderingMode) {
public Integer getTextRenderingMode() { //文本渲染方式
public T setSplitCharacters(ISplitCharacters splitCharacters) {
public ISplitCharacters getSplitCharacters() { //文本分隔符
public T setBaseDirection(BaseDirection baseDirection) {
public T setDestination(String destination) {
public T setOpacity(Float opacity) { //文本透明度
public T setHyphenation(HyphenationConfig hyphenationConfig) { //设置连字符
AreaBreak:区域间隔符
public class AreaBreak extends AbstractElement<AreaBreak> {
protected PageSize pageSize;
public AreaBreak() {
public AreaBreak(AreaBreakType areaBreakType) {
public AreaBreak(PageSize pageSize) {
public PageSize getPageSize() {
public void setPageSize(PageSize pageSize) {
public AreaBreakType getType() {
return (AreaBreakType)this.getProperty(2);
}
protected IRenderer makeNewRenderer() {
AreaBreakType
public enum AreaBreakType {
NEXT_AREA, //下一个区域
NEXT_PAGE, //新建一页
LAST_PAGE; //最后一页
private AreaBreakType() {
}
}
AbstractElement
public abstract class AbstractElement<T extends IElement> extends ElementPropertyContainer<T> implements IAbstractElement {
protected IRenderer nextRenderer;
protected List<IElement> childElements = new ArrayList();
protected Set<Style> styles;
public AbstractElement() {
}
public IRenderer createRendererSubTree() {
public void setNextRenderer(IRenderer renderer) {
public IRenderer getRenderer() {
public T addStyle(Style style) {
public T setAction(PdfAction action) {
public T setPageNumber(int pageNumber) {
public boolean isEmpty() {
public List<IElement> getChildren() {
public boolean hasProperty(int property) {
public <T1> T1 getProperty(int property) {
protected abstract IRenderer makeNewRenderer();
}
IBlockElement:接口实现类如下
public interface IBlockElement extends IAbstractElement {
}
BlockElement
public abstract class BlockElement<T extends IElement> extends AbstractElement<T> implements IAccessibleElement, IBlockElement {
protected BlockElement() {
}
public <T1> T1 getDefaultProperty(int property) {
switch(property) {
case 103:
case 104:
return OverflowPropertyValue.FIT;
default:
return super.getDefaultProperty(property);
}
}
***********
内边距
public T setPaddingLeft(float value) {
public T setPaddingRight(float value) {
public T setPaddingTop(float value) {
public T setPaddingBottom(float value) {
public UnitValue getPaddingLeft() {
public UnitValue getPaddingRight() {
public UnitValue getPaddingTop() {
public UnitValue getPaddingBottom() {
public T setPadding(float commonPadding) {
public T setPaddings(float paddingTop, float paddingRight, float paddingBottom, float paddingLeft) {
***********
页边距
public T setMarginLeft(float value) {
public T setMarginRight(float value) {
public T setMarginTop(float value) {
public T setMarginBottom(float value) {
public UnitValue getMarginLeft() {
public UnitValue getMarginRight() {
public UnitValue getMarginTop() {
public UnitValue getMarginBottom() {
public T setMargin(float commonMargin) {
public T setMargins(float marginTop, float marginRight, float marginBottom, float marginLeft) {
***********
宽度、高度
public T setWidth(float width) {
public T setWidth(UnitValue width) {
public UnitValue getWidth() {
public T setHeight(UnitValue height) {
public T setHeight(float height) {
public UnitValue getHeight() {
public T setMaxHeight(float maxHeight) {
public T setMaxHeight(UnitValue maxHeight) {
public T setMinHeight(UnitValue minHeight) {
public T setMinHeight(float minHeight) {
public T setMaxWidth(UnitValue maxWidth) {
public T setMaxWidth(float maxWidth) {
public T setMinWidth(UnitValue minWidth) {
public T setMinWidth(float minWidth) {
***********
其余操作
public T setVerticalAlignment(VerticalAlignment verticalAlignment) {
public T setSpacingRatio(float ratio) {
public Boolean isKeepTogether() {
public T setKeepTogether(boolean keepTogether) {
public Boolean isKeepWithNext() {
public T setKeepWithNext(boolean keepWithNext) {
public T setRotationAngle(float angleInRadians) {
public T setRotationAngle(double angleInRadians) {
Cell:单元格
public class Cell extends BlockElement<Cell> {
private static final Border DEFAULT_BORDER = new SolidBorder(0.5F);
private int row;
private int col;
private int rowspan;
private int colspan;
protected DefaultAccessibilityProperties tagProperties;
**********
构造方法
public Cell(int rowspan, int colspan) {
public Cell() {
**********
普通方法
public int getRow() {
public int getCol() {
public int getRowspan() {
public int getColspan() {
public Cell add(IBlockElement element) {
public Cell add(Image element) {
public IRenderer getRenderer() {
public <T1> T1 getDefaultProperty(int property) {
public AccessibilityProperties getAccessibilityProperties() {
public String toString() {
public Cell clone(boolean includeContent) {
protected IRenderer makeNewRenderer() {
protected Cell updateCellIndexes(int row, int col, int numberOfColumns) {
Div
public class Div extends BlockElement<Div> {
protected DefaultAccessibilityProperties tagProperties;
public Div() {
}
public Div add(IBlockElement element) {
public Div add(Image element) {
public Div add(AreaBreak areaBreak) {
public AccessibilityProperties getAccessibilityProperties() {
public Div setFillAvailableArea(boolean fillArea) {
public Div setFillAvailableAreaOnSplit(boolean fillAreaOnSplit) {
protected IRenderer makeNewRenderer() {
FlexContainer:default方法,不可直接使用
class FlexContainer extends Div {
public FlexContainer() {
}
protected IRenderer makeNewRenderer() {
return new FlexContainerRenderer(this);
}
}
LineSeparator:行分隔符
public class LineSeparator extends BlockElement<LineSeparator> {
protected DefaultAccessibilityProperties tagProperties;
public LineSeparator(ILineDrawer lineDrawer) {
this.setProperty(35, lineDrawer);
}
public AccessibilityProperties getAccessibilityProperties() {
if (this.tagProperties == null) {
this.tagProperties = new DefaultAccessibilityProperties("Artifact");
}
return this.tagProperties;
}
protected IRenderer makeNewRenderer() {
return new LineSeparatorRenderer(this);
}
}
List
public class List extends BlockElement<List> {
public static final String DEFAULT_LIST_SYMBOL = "- ";
protected DefaultAccessibilityProperties tagProperties;
public List() {
}
public List(ListNumberingType listNumberingType) {
this.setListSymbol(listNumberingType);
}
public List add(ListItem listItem) {
public List add(String text) {
public List setListSymbol(String symbol) {
public List setListSymbol(Text text) {
public List setListSymbol(Image image) {
public List setListSymbol(ListNumberingType listNumberingType) {
public List setListSymbolAlignment(ListSymbolAlignment alignment) {
public List setItemStartIndex(int start) {
public List setSymbolIndent(float symbolIndent) {
public void setPreSymbolText(String preSymbolText) {
public void setPostSymbolText(String postSymbolText) {
public Float getSymbolIndent() {
public String getPreSymbolText() {
public String getPostSymbolText() {
public AccessibilityProperties getAccessibilityProperties() {
public <T1> T1 getDefaultProperty(int property) {
protected IRenderer makeNewRenderer() {
ListItem
public class ListItem extends Div {
public ListItem() {
public ListItem(String text) {
public ListItem(Image image) {
public ListItem setListSymbol(String symbol) {
public ListItem setListSymbol(Text text) {
public ListItem setListSymbol(Image image) {
public ListItem setListSymbol(ListNumberingType listNumberingType) {
public ListItem setListSymbolOrdinalValue(int ordinalValue) {
public <T1> T1 getDefaultProperty(int property) {
public AccessibilityProperties getAccessibilityProperties() {
protected IRenderer makeNewRenderer() {
Paragraph
public class Paragraph extends BlockElement<Paragraph> {
protected DefaultAccessibilityProperties tagProperties;
public Paragraph() {
public Paragraph(String text) {
public Paragraph(Text text) {
public Paragraph add(String text) {
public Paragraph add(ILeafElement element) {
public Paragraph add(IBlockElement element) {
public <T2 extends ILeafElement> Paragraph addAll(List<T2> elements) {
public Paragraph addTabStops(TabStop... tabStops) {
public Paragraph addTabStops(List<TabStop> tabStops) {
public Paragraph removeTabStop(float tabStopPosition) {
public Paragraph setFirstLineIndent(float indent) {
public Paragraph setOrphansControl(ParagraphOrphansControl orphansControl) {
public Paragraph setWidowsControl(ParagraphWidowsControl widowsControl) {
public Paragraph setFixedLeading(float leading) {
public Paragraph setMultipliedLeading(float leading) {
public <T1> T1 getDefaultProperty(int property) {
public AccessibilityProperties getAccessibilityProperties() {
protected IRenderer makeNewRenderer() {
private void addTabStopsAsProperty(List<TabStop> newTabStops) {
Table
public class Table extends BlockElement<Table> implements ILargeElement {
protected DefaultAccessibilityProperties tagProperties;
private List<Cell[]> rows;
private UnitValue[] columnWidths;
private int currentColumn;
private int currentRow;
private Table header;
private Table footer;
private boolean skipFirstHeader;
private boolean skipLastFooter;
private boolean isComplete;
private List<Table.RowRange> lastAddedRowGroups;
private int rowWindowStart;
private Document document;
private Cell[] lastAddedRow;
private Div caption;
*********
构造方法
public Table(int numColumns) {
public Table(UnitValue[] columnWidths) {
public Table(float[] pointColumnWidths) {
public Table(int numColumns, boolean largeTable) {
public Table(float[] columnWidths, boolean largeTable) {
public Table(UnitValue[] columnWidths, boolean largeTable) {
*********
headerCell
public Table addHeaderCell(Image image) {
public Table addHeaderCell(String content) {
public Table addHeaderCell(Cell headerCell) {
public <T extends IElement> Table addHeaderCell(BlockElement<T> blockElement) {
public Table getHeader() {
public boolean isSkipFirstHeader() {
public Table setSkipFirstHeader(boolean skipFirstHeader) {
*********
cell
public Table addCell(Cell cell) {
public Table addCell(Image image) {
public Table addCell(String content) {
public <T extends IElement> Table addCell(BlockElement<T> blockElement) {
public Cell getCell(int row, int column) {
*********
footerCell
public Table addFooterCell(Cell footerCell) {
public Table addFooterCell(Image image) {
public Table addFooterCell(String content) {
public <T extends IElement> Table addFooterCell(BlockElement<T> blockElement) {
public Table getFooter() {
public boolean isSkipLastFooter() {
public Table setSkipLastFooter(boolean skipLastFooter) {
*********
其余操作
public Table setCaption(Div caption) {
public Table setCaption(Div caption, CaptionSide side) {
public Div getCaption() {
public IRenderer createRendererSubTree() {
public IRenderer getRenderer() {
public void complete() {
public boolean isComplete() {
public void flush() {
public void flushContent() {
public void setDocument(Document document) {
public Table setExtendBottomRow(boolean isExtended) {
public Table setExtendBottomRowOnSplit(boolean isExtended) {
public Table setBorderCollapse(BorderCollapsePropertyValue collapsePropertyValue) {
public Table setHorizontalBorderSpacing(float spacing) {
public Table setVerticalBorderSpacing(float spacing) {
public List<Border> getLastRowBottomBorder() {
public AccessibilityProperties getAccessibilityProperties() {
public Table startNewRow() {
public Table setFixedLayout() {
public Table setAutoLayout() {
public Table useAllAvailableWidth() {
public UnitValue getColumnWidth(int column) {
public int getNumberOfColumns() {
public int getNumberOfRows() {
protected IRenderer makeNewRenderer() {
protected List<Table.RowRange> getRowGroups() {
private void initializeRows() {
this.rows = new ArrayList();
this.currentColumn = -1;
}
private void ensureHeaderIsInitialized() {
private void ensureFooterIsInitialized() {
private void ensureCaptionPropertiesAreSet() {
private void initializeLargeTable(boolean largeTable) {
private static UnitValue[] normalizeColumnWidths(int numberOfColumns) {
private static UnitValue[] normalizeColumnWidths(float[] pointColumnWidths) {
private static UnitValue[] normalizeColumnWidths(UnitValue[] unitColumnWidths) {
private boolean cellBelongsToAnyRowGroup(Cell cell, List<Table.RowRange> rowGroups) {
**********
内部类:RowRange
public static class RowRange {
int startRow;
int finishRow;
public RowRange(int startRow, int finishRow) {
public int getStartRow() {
public int getFinishRow() {
今天的文章itextpdf 简介分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/4754.html