📄 dopabstracttype.java
字号:
/* ==================================================================== * The Apache Software License, Version 1.1 * * Copyright (c) 2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Apache" and "Apache Software Foundation" and * "Apache POI" must not be used to endorse or promote products * derived from this software without prior written permission. For * written permission, please contact apache@apache.org. * * 5. Products derived from this software may not be called "Apache", * "Apache POI", nor may "Apache" appear in their name, without * prior written permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. */package org.apache.poi.hdf.model.hdftypes.definitions;import org.apache.poi.util.BitField;import org.apache.poi.util.LittleEndian;import org.apache.poi.util.StringUtil;import org.apache.poi.util.HexDump;import org.apache.poi.hdf.model.hdftypes.HDFType;/** * Document Properties. * NOTE: This source is automatically generated please do not modify this file. Either subclass or * remove the record in src/records/definitions. * @author S. Ryan Ackley */public abstract class DOPAbstractType implements HDFType{ private byte field_1_formatFlags; private BitField fFacingPages = new BitField(0x01); private BitField fWidowControl = new BitField(0x02); private BitField fPMHMainDoc = new BitField(0x04); private BitField grfSupression = new BitField(0x18); private BitField fpc = new BitField(0x60); private BitField unused1 = new BitField(0x80); private short field_2_unused2; private short field_3_footnoteInfo; private BitField rncFtn = new BitField(0x0003); private BitField nFtn = new BitField(0xfffc); private byte field_4_fOutlineDirtySave; private byte field_5_docinfo; private BitField fOnlyMacPics = new BitField(0x01); private BitField fOnlyWinPics = new BitField(0x02); private BitField fLabelDoc = new BitField(0x04); private BitField fHyphCapitals = new BitField(0x08); private BitField fAutoHyphen = new BitField(0x10); private BitField fFormNoFields = new BitField(0x20); private BitField fLinkStyles = new BitField(0x40); private BitField fRevMarking = new BitField(0x80); private byte field_6_docinfo1; private BitField fBackup = new BitField(0x01); private BitField fExactCWords = new BitField(0x02); private BitField fPagHidden = new BitField(0x04); private BitField fPagResults = new BitField(0x08); private BitField fLockAtn = new BitField(0x10); private BitField fMirrorMargins = new BitField(0x20); private BitField unused3 = new BitField(0x40); private BitField fDfltTrueType = new BitField(0x80); private byte field_7_docinfo2; private BitField fPagSupressTopSpacing = new BitField(0x01); private BitField fProtEnabled = new BitField(0x02); private BitField fDispFormFldSel = new BitField(0x04); private BitField fRMView = new BitField(0x08); private BitField fRMPrint = new BitField(0x10); private BitField unused4 = new BitField(0x20); private BitField fLockRev = new BitField(0x40); private BitField fEmbedFonts = new BitField(0x80); private short field_8_docinfo3; private BitField oldfNoTabForInd = new BitField(0x0001); private BitField oldfNoSpaceRaiseLower = new BitField(0x0002); private BitField oldfSuppressSpbfAfterPageBreak = new BitField(0x0004); private BitField oldfWrapTrailSpaces = new BitField(0x0008); private BitField oldfMapPrintTextColor = new BitField(0x0010); private BitField oldfNoColumnBalance = new BitField(0x0020); private BitField oldfConvMailMergeEsc = new BitField(0x0040); private BitField oldfSupressTopSpacing = new BitField(0x0080); private BitField oldfOrigWordTableRules = new BitField(0x0100); private BitField oldfTransparentMetafiles = new BitField(0x0200); private BitField oldfShowBreaksInFrames = new BitField(0x0400); private BitField oldfSwapBordersFacingPgs = new BitField(0x0800); private BitField unused5 = new BitField(0xf000); private int field_9_dxaTab; private int field_10_wSpare; private int field_11_dxaHotz; private int field_12_cConsexHypLim; private int field_13_wSpare2; private int field_14_dttmCreated; private int field_15_dttmRevised; private int field_16_dttmLastPrint; private int field_17_nRevision; private int field_18_tmEdited; private int field_19_cWords; private int field_20_cCh; private int field_21_cPg; private int field_22_cParas; private short field_23_Edn; private BitField rncEdn = new BitField(0x0003); private BitField nEdn = new BitField(0xfffc); private short field_24_Edn1; private BitField epc = new BitField(0x0003); private BitField nfcFtnRef1 = new BitField(0x003c); private BitField nfcEdnRef1 = new BitField(0x03c0); private BitField fPrintFormData = new BitField(0x0400); private BitField fSaveFormData = new BitField(0x0800); private BitField fShadeFormData = new BitField(0x1000); private BitField fWCFtnEdn = new BitField(0x8000); private int field_25_cLines; private int field_26_cWordsFtnEnd; private int field_27_cChFtnEdn; private short field_28_cPgFtnEdn; private int field_29_cParasFtnEdn; private int field_30_cLinesFtnEdn; private int field_31_lKeyProtDoc; private short field_32_view; private BitField wvkSaved = new BitField(0x0007); private BitField wScaleSaved = new BitField(0x0ff8); private BitField zkSaved = new BitField(0x3000); private BitField fRotateFontW6 = new BitField(0x4000); private BitField iGutterPos = new BitField(0x8000); private int field_33_docinfo4; private BitField fNoTabForInd = new BitField(0x00000001); private BitField fNoSpaceRaiseLower = new BitField(0x00000002); private BitField fSupressSpdfAfterPageBreak = new BitField(0x00000004); private BitField fWrapTrailSpaces = new BitField(0x00000008); private BitField fMapPrintTextColor = new BitField(0x00000010); private BitField fNoColumnBalance = new BitField(0x00000020); private BitField fConvMailMergeEsc = new BitField(0x00000040); private BitField fSupressTopSpacing = new BitField(0x00000080); private BitField fOrigWordTableRules = new BitField(0x00000100); private BitField fTransparentMetafiles = new BitField(0x00000200); private BitField fShowBreaksInFrames = new BitField(0x00000400); private BitField fSwapBordersFacingPgs = new BitField(0x00000800); private BitField fSuppressTopSPacingMac5 = new BitField(0x00010000); private BitField fTruncDxaExpand = new BitField(0x00020000); private BitField fPrintBodyBeforeHdr = new BitField(0x00040000); private BitField fNoLeading = new BitField(0x00080000); private BitField fMWSmallCaps = new BitField(0x00200000); private short field_34_adt; private byte[] field_35_doptypography; private byte[] field_36_dogrid; private short field_37_docinfo5; private BitField lvl = new BitField(0x001e); private BitField fGramAllDone = new BitField(0x0020); private BitField fGramAllClean = new BitField(0x0040); private BitField fSubsetFonts = new BitField(0x0080); private BitField fHideLastVersion = new BitField(0x0100); private BitField fHtmlDoc = new BitField(0x0200); private BitField fSnapBorder = new BitField(0x0800); private BitField fIncludeHeader = new BitField(0x1000); private BitField fIncludeFooter = new BitField(0x2000); private BitField fForcePageSizePag = new BitField(0x4000); private BitField fMinFontSizePag = new BitField(0x8000); private short field_38_docinfo6; private BitField fHaveVersions = new BitField(0x0001); private BitField fAutoVersions = new BitField(0x0002); private byte[] field_39_asumyi; private int field_40_cChWS; private int field_41_cChWSFtnEdn; private int field_42_grfDocEvents; private int field_43_virusinfo; private BitField fVirusPrompted = new BitField(0x0001); private BitField fVirusLoadSafe = new BitField(0x0002); private BitField KeyVirusSession30 = new BitField(0xfffffffc); private byte[] field_44_Spare; private int field_45_reserved1; private int field_46_reserved2; private int field_47_cDBC; private int field_48_cDBCFtnEdn; private int field_49_reserved; private short field_50_nfcFtnRef; private short field_51_nfcEdnRef; private short field_52_hpsZoonFontPag; private short field_53_dywDispPag; public DOPAbstractType() { } protected void fillFields(byte [] data, short size, int offset) { field_1_formatFlags = data[ 0x0 + offset ]; field_2_unused2 = LittleEndian.getShort(data, 0x1 + offset); field_3_footnoteInfo = LittleEndian.getShort(data, 0x3 + offset); field_4_fOutlineDirtySave = data[ 0x5 + offset ]; field_5_docinfo = data[ 0x6 + offset ]; field_6_docinfo1 = data[ 0x7 + offset ]; field_7_docinfo2 = data[ 0x8 + offset ]; field_8_docinfo3 = LittleEndian.getShort(data, 0x9 + offset); field_9_dxaTab = LittleEndian.getShort(data, 0xb + offset); field_10_wSpare = LittleEndian.getShort(data, 0xd + offset); field_11_dxaHotz = LittleEndian.getShort(data, 0xf + offset); field_12_cConsexHypLim = LittleEndian.getShort(data, 0x11 + offset); field_13_wSpare2 = LittleEndian.getShort(data, 0x13 + offset); field_14_dttmCreated = LittleEndian.getInt(data, 0x15 + offset); field_15_dttmRevised = LittleEndian.getInt(data, 0x19 + offset); field_16_dttmLastPrint = LittleEndian.getInt(data, 0x1d + offset); field_17_nRevision = LittleEndian.getShort(data, 0x21 + offset); field_18_tmEdited = LittleEndian.getInt(data, 0x23 + offset); field_19_cWords = LittleEndian.getInt(data, 0x27 + offset); field_20_cCh = LittleEndian.getInt(data, 0x2b + offset); field_21_cPg = LittleEndian.getShort(data, 0x2f + offset); field_22_cParas = LittleEndian.getInt(data, 0x31 + offset); field_23_Edn = LittleEndian.getShort(data, 0x35 + offset); field_24_Edn1 = LittleEndian.getShort(data, 0x37 + offset); field_25_cLines = LittleEndian.getInt(data, 0x39 + offset); field_26_cWordsFtnEnd = LittleEndian.getInt(data, 0x3d + offset); field_27_cChFtnEdn = LittleEndian.getInt(data, 0x41 + offset); field_28_cPgFtnEdn = LittleEndian.getShort(data, 0x45 + offset); field_29_cParasFtnEdn = LittleEndian.getInt(data, 0x47 + offset); field_30_cLinesFtnEdn = LittleEndian.getInt(data, 0x4b + offset); field_31_lKeyProtDoc = LittleEndian.getInt(data, 0x4f + offset); field_32_view = LittleEndian.getShort(data, 0x53 + offset); field_33_docinfo4 = LittleEndian.getInt(data, 0x55 + offset); field_34_adt = LittleEndian.getShort(data, 0x59 + offset); field_35_doptypography = LittleEndian.getByteArray(data, 0x5b + offset, size); field_36_dogrid = LittleEndian.getByteArray(data, 0x191 + offset, size); field_37_docinfo5 = LittleEndian.getShort(data, 0x19b + offset); field_38_docinfo6 = LittleEndian.getShort(data, 0x19d + offset); field_39_asumyi = LittleEndian.getByteArray(data, 0x19f + offset, size); field_40_cChWS = LittleEndian.getInt(data, 0x1ab + offset); field_41_cChWSFtnEdn = LittleEndian.getInt(data, 0x1af + offset); field_42_grfDocEvents = LittleEndian.getInt(data, 0x1b3 + offset); field_43_virusinfo = LittleEndian.getInt(data, 0x1b7 + offset); field_44_Spare = LittleEndian.getByteArray(data, 0x1bb + offset, size); field_45_reserved1 = LittleEndian.getInt(data, 0x1d9 + offset); field_46_reserved2 = LittleEndian.getInt(data, 0x1dd + offset); field_47_cDBC = LittleEndian.getInt(data, 0x1e1 + offset); field_48_cDBCFtnEdn = LittleEndian.getInt(data, 0x1e5 + offset); field_49_reserved = LittleEndian.getInt(data, 0x1e9 + offset); field_50_nfcFtnRef = LittleEndian.getShort(data, 0x1ed + offset); field_51_nfcEdnRef = LittleEndian.getShort(data, 0x1ef + offset); field_52_hpsZoonFontPag = LittleEndian.getShort(data, 0x1f1 + offset); field_53_dywDispPag = LittleEndian.getShort(data, 0x1f3 + offset); } public String toString() { StringBuffer buffer = new StringBuffer(); buffer.append("[DOP]\n"); buffer.append(" .formatFlags = "); buffer.append("0x"); buffer.append(HexDump.toHex((byte)getFormatFlags())); buffer.append(" (").append(getFormatFlags()).append(" )\n"); buffer.append(" .fFacingPages = ").append(isFFacingPages()).append('\n'); buffer.append(" .fWidowControl = ").append(isFWidowControl()).append('\n'); buffer.append(" .fPMHMainDoc = ").append(isFPMHMainDoc()).append('\n'); buffer.append(" .grfSupression = ").append(getGrfSupression()).append('\n'); buffer.append(" .fpc = ").append(getFpc()).append('\n'); buffer.append(" .unused1 = ").append(isUnused1()).append('\n'); buffer.append(" .unused2 = "); buffer.append("0x"); buffer.append(HexDump.toHex((short)getUnused2())); buffer.append(" (").append(getUnused2()).append(" )\n"); buffer.append(" .footnoteInfo = "); buffer.append("0x"); buffer.append(HexDump.toHex((short)getFootnoteInfo())); buffer.append(" (").append(getFootnoteInfo()).append(" )\n"); buffer.append(" .rncFtn = ").append(getRncFtn()).append('\n'); buffer.append(" .nFtn = ").append(getNFtn()).append('\n'); buffer.append(" .fOutlineDirtySave = "); buffer.append("0x"); buffer.append(HexDump.toHex((byte)getFOutlineDirtySave())); buffer.append(" (").append(getFOutlineDirtySave()).append(" )\n"); buffer.append(" .docinfo = "); buffer.append("0x"); buffer.append(HexDump.toHex((byte)getDocinfo())); buffer.append(" (").append(getDocinfo()).append(" )\n"); buffer.append(" .fOnlyMacPics = ").append(isFOnlyMacPics()).append('\n'); buffer.append(" .fOnlyWinPics = ").append(isFOnlyWinPics()).append('\n'); buffer.append(" .fLabelDoc = ").append(isFLabelDoc()).append('\n'); buffer.append(" .fHyphCapitals = ").append(isFHyphCapitals()).append('\n'); buffer.append(" .fAutoHyphen = ").append(isFAutoHyphen()).append('\n'); buffer.append(" .fFormNoFields = ").append(isFFormNoFields()).append('\n'); buffer.append(" .fLinkStyles = ").append(isFLinkStyles()).append('\n'); buffer.append(" .fRevMarking = ").append(isFRevMarking()).append('\n'); buffer.append(" .docinfo1 = "); buffer.append("0x"); buffer.append(HexDump.toHex((byte)getDocinfo1())); buffer.append(" (").append(getDocinfo1()).append(" )\n"); buffer.append(" .fBackup = ").append(isFBackup()).append('\n'); buffer.append(" .fExactCWords = ").append(isFExactCWords()).append('\n'); buffer.append(" .fPagHidden = ").append(isFPagHidden()).append('\n'); buffer.append(" .fPagResults = ").append(isFPagResults()).append('\n'); buffer.append(" .fLockAtn = ").append(isFLockAtn()).append('\n'); buffer.append(" .fMirrorMargins = ").append(isFMirrorMargins()).append('\n'); buffer.append(" .unused3 = ").append(isUnused3()).append('\n'); buffer.append(" .fDfltTrueType = ").append(isFDfltTrueType()).append('\n'); buffer.append(" .docinfo2 = "); buffer.append("0x"); buffer.append(HexDump.toHex((byte)getDocinfo2())); buffer.append(" (").append(getDocinfo2()).append(" )\n"); buffer.append(" .fPagSupressTopSpacing = ").append(isFPagSupressTopSpacing()).append('\n'); buffer.append(" .fProtEnabled = ").append(isFProtEnabled()).append('\n'); buffer.append(" .fDispFormFldSel = ").append(isFDispFormFldSel()).append('\n'); buffer.append(" .fRMView = ").append(isFRMView()).append('\n'); buffer.append(" .fRMPrint = ").append(isFRMPrint()).append('\n'); buffer.append(" .unused4 = ").append(isUnused4()).append('\n'); buffer.append(" .fLockRev = ").append(isFLockRev()).append('\n'); buffer.append(" .fEmbedFonts = ").append(isFEmbedFonts()).append('\n'); buffer.append(" .docinfo3 = "); buffer.append("0x"); buffer.append(HexDump.toHex((short)getDocinfo3())); buffer.append(" (").append(getDocinfo3()).append(" )\n"); buffer.append(" .oldfNoTabForInd = ").append(isOldfNoTabForInd()).append('\n'); buffer.append(" .oldfNoSpaceRaiseLower = ").append(isOldfNoSpaceRaiseLower()).append('\n'); buffer.append(" .oldfSuppressSpbfAfterPageBreak = ").append(isOldfSuppressSpbfAfterPageBreak()).append('\n'); buffer.append(" .oldfWrapTrailSpaces = ").append(isOldfWrapTrailSpaces()).append('\n'); buffer.append(" .oldfMapPrintTextColor = ").append(isOldfMapPrintTextColor()).append('\n'); buffer.append(" .oldfNoColumnBalance = ").append(isOldfNoColumnBalance()).append('\n'); buffer.append(" .oldfConvMailMergeEsc = ").append(isOldfConvMailMergeEsc()).append('\n'); buffer.append(" .oldfSupressTopSpacing = ").append(isOldfSupressTopSpacing()).append('\n'); buffer.append(" .oldfOrigWordTableRules = ").append(isOldfOrigWordTableRules()).append('\n'); buffer.append(" .oldfTransparentMetafiles = ").append(isOldfTransparentMetafiles()).append('\n'); buffer.append(" .oldfShowBreaksInFrames = ").append(isOldfShowBreaksInFrames()).append('\n'); buffer.append(" .oldfSwapBordersFacingPgs = ").append(isOldfSwapBordersFacingPgs()).append('\n'); buffer.append(" .unused5 = ").append(getUnused5()).append('\n'); buffer.append(" .dxaTab = "); buffer.append("0x"); buffer.append(HexDump.toHex((int)getDxaTab())); buffer.append(" (").append(getDxaTab()).append(" )\n"); buffer.append(" .wSpare = "); buffer.append("0x"); buffer.append(HexDump.toHex((int)getWSpare())); buffer.append(" (").append(getWSpare()).append(" )\n"); buffer.append(" .dxaHotz = "); buffer.append("0x"); buffer.append(HexDump.toHex((int)getDxaHotz())); buffer.append(" (").append(getDxaHotz()).append(" )\n"); buffer.append(" .cConsexHypLim = "); buffer.append("0x"); buffer.append(HexDump.toHex((int)getCConsexHypLim())); buffer.append(" (").append(getCConsexHypLim()).append(" )\n"); buffer.append(" .wSpare2 = "); buffer.append("0x"); buffer.append(HexDump.toHex((int)getWSpare2())); buffer.append(" (").append(getWSpare2()).append(" )\n"); buffer.append(" .dttmCreated = "); buffer.append("0x"); buffer.append(HexDump.toHex((int)getDttmCreated())); buffer.append(" (").append(getDttmCreated()).append(" )\n"); buffer.append(" .dttmRevised = "); buffer.append("0x"); buffer.append(HexDump.toHex((int)getDttmRevised())); buffer.append(" (").append(getDttmRevised()).append(" )\n"); buffer.append(" .dttmLastPrint = "); buffer.append("0x"); buffer.append(HexDump.toHex((int)getDttmLastPrint())); buffer.append(" (").append(getDttmLastPrint()).append(" )\n"); buffer.append(" .nRevision = "); buffer.append("0x"); buffer.append(HexDump.toHex((int)getNRevision())); buffer.append(" (").append(getNRevision()).append(" )\n");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -