com.lowagie.text.rtf.document

Class RtfDocumentSettings

public class RtfDocumentSettings extends Object

The RtfDocumentSettings contains output specific settings. These settings modify how the actual document is then generated and some settings may mean that some RTF readers can't read the document or render it wrongly.

Version: $Id: RtfDocumentSettings.java 3580 2008-08-06 15:52:00Z howard_s $

Author: Mark Hall (Mark.Hall@mail.room3b.eu) Thomas Bickel (tmb99@inode.at) Howard Shank (hgshank@yahoo.com)

Field Summary
booleanalwaysGenerateSoftLinebreaks
Whether to always generate soft linebreaks for \n in Chunks.
booleanalwaysUseUnicode
Whether to always translate characters past 'z' into unicode representations.
intdataCacheStyle
How to cache the document during generation.
RtfDocumentdocument
The RtfDocument this RtfDocumentSettings belongs to.
booleanimagePDFConformance
Whether images should be written in order to mimick the PDF output.
booleanimageWrittenAsBinary
Images are written as binary data and not hex encoded.
booleanoutputDebugLineBreaks
Whether to output the line breaks that make the rtf document source more readable.
booleanoutputTableRowDefinitionAfter
Whether to also output the table row definition after the cell content.
StringprotectionHash
Document protection level password hash.
intprotectionLevel
Document protection level.
booleanreadOnlyRecommended
Document recommended to be opened in read only mode.
booleanwriteImageScalingInformation
Whether to write image scaling information.
Stringwritereservhash
Document read password hash.
Constructor Summary
RtfDocumentSettings(RtfDocument document)
Constructs a new RtfDocumentSettings object.
Method Summary
intconvertProtectionLevel()
Converts protection level from internal bitmap value to protlevel output value.
intgetDataCacheStyle()
Gets the current data cache style.
byte[]getProtectionHashBytes()
Obtain the password has as a byte array.
intgetProtectionLevel()
Author: Howard Shank (hgshank@yahoo.com)
byte[]getProtectionLevelBytes()
Author: Howard Shank (hgshank@yahoo.com)
intgetProtectionLevelRaw()
Author: Howard Shank (hgshank@yahoo.com)
booleangetReadOnlyRecommended()
Get the RTF flag that recommends if the the document should be opened in read only mode.
booleanisAlwaysGenerateSoftLinebreaks()
Gets whether all linebreaks inside Chunks are generated as soft linebreaks.
booleanisAlwaysUseUnicode()
Gets whether all characters bigger than 'z' are represented as unicode.
booleanisDocumentProtected()
Determine if document has protection enabled.
booleanisImagePDFConformance()
Gets the current setting on image PDF conformance.
booleanisImageWrittenAsBinary()
Gets whether images are written as binary data or are hex encoded.
booleanisOutputDebugLineBreaks()
Gets whether to output the line breaks for increased rtf document readability.
booleanisOutputTableRowDefinitionAfter()
Gets whether the table row definition should also be written after the cell content.
booleanisWriteImageScalingInformation()
Gets whether to write scaling information for images.
voidregisterParagraphStyle(RtfParagraphStyle rtfParagraphStyle)
Registers the RtfParagraphStyle for further use in the document.
voidsetAlwaysGenerateSoftLinebreaks(boolean alwaysGenerateSoftLinebreaks)
Sets whether to always generate soft linebreaks.
voidsetAlwaysUseUnicode(boolean alwaysUseUnicode)
Sets whether to represent all characters bigger than 'z' as unicode.
voidsetDataCacheStyle(int dataCacheStyle)
Sets the data cache style.
voidsetImagePDFConformance(boolean imagePDFConformance)
Sets the image PDF conformance setting.
voidsetImageWrittenAsBinary(boolean imageWrittenAsBinary)
Set whether images are written as binary data or are hex encoded.
booleansetNewPassword(String oldPwd, String newPwd)
Author: Howard Shank (hgshank@yahoo.com)
voidsetOptionsForMSWord2000And97()
Set the options required for RTF documents to display correctly in MS Word 2000 and MS Word 97.
voidsetOptionsForMSWordForMac()
Set the options required for RTF documents to display correctly in MS Word for Mac.
voidsetOptionsForMSWordXP()
Set the options required for RTF documents to display correctly in MS Word XP (2002).
voidsetOptionsForOpenOfficeOrg()
Set the options required for RTF documents to display correctly in OpenOffice.Org Writer.
voidsetOutputDebugLineBreaks(boolean outputDebugLineBreaks)
Sets whether to output the line breaks for increased rtf document readability.
voidsetOutputTableRowDefinitionAfter(boolean outputTableRowDefinitionAfter)
Sets whether the table row definition should also be written after the cell content.
voidsetPasswordHash(String pwd)
This function is not intended for general use.
booleansetProtection(int level, String pwd)
Author: Howard Shank (hgshank@yahoo.com)
booleansetProtectionLevel(int level)
Author: Howard Shank (hgshank@yahoo.com)
voidsetReadOnlyRecommended(boolean value)
Set the RTF flag that recommends the document be opened in read only mode.
voidsetWriteImageScalingInformation(boolean writeImageScalingInformation)
Sets whether image scaling information should be written.
booleanunprotectDocument(String pwd)
Author: Howard Shank (hgshank@yahoo.com)

Field Detail

alwaysGenerateSoftLinebreaks

private boolean alwaysGenerateSoftLinebreaks
Whether to always generate soft linebreaks for \n in Chunks.

alwaysUseUnicode

private boolean alwaysUseUnicode
Whether to always translate characters past 'z' into unicode representations.

dataCacheStyle

private int dataCacheStyle
How to cache the document during generation. Defaults to RtfDataCache.CACHE_MEMORY;

document

private RtfDocument document
The RtfDocument this RtfDocumentSettings belongs to.

imagePDFConformance

private boolean imagePDFConformance
Whether images should be written in order to mimick the PDF output.

imageWrittenAsBinary

private boolean imageWrittenAsBinary
Images are written as binary data and not hex encoded. Author: Mark Hall (Mark.Hall@mail.room3b.eu)

Since: 2.1.1

outputDebugLineBreaks

private boolean outputDebugLineBreaks
Whether to output the line breaks that make the rtf document source more readable.

outputTableRowDefinitionAfter

private boolean outputTableRowDefinitionAfter
Whether to also output the table row definition after the cell content.

protectionHash

private String protectionHash
Document protection level password hash. Author: Howard Shank (hgshank@yahoo.com)

Since: 2.1.1

protectionLevel

private int protectionLevel
Document protection level. Author: Howard Shank (hgshank@yahoo.com)

Since: 2.1.1

readOnlyRecommended

private boolean readOnlyRecommended
Document recommended to be opened in read only mode. Author: Howard Shank (hgshank@yahoo.com)

Since: 2.1.1

writeImageScalingInformation

private boolean writeImageScalingInformation
Whether to write image scaling information. This is required for Word 2000, 97 and Word for Mac

writereservhash

private String writereservhash
Document read password hash. Author: Howard Shank (hgshank@yahoo.com)

Since: 2.1.1

Constructor Detail

RtfDocumentSettings

public RtfDocumentSettings(RtfDocument document)
Constructs a new RtfDocumentSettings object.

Parameters: document The RtfDocument this RtfDocumentSettings belong to.

Method Detail

convertProtectionLevel

private int convertProtectionLevel()
Converts protection level from internal bitmap value to protlevel output value. Author: Howard Shank (hgshank@yahoo.com)

Returns:

 0 = Revision protection
 1 = Annotation/Comment protection
 2 = Form protection
 3 = Read only protection
 

Since: 2.1.1

getDataCacheStyle

public int getDataCacheStyle()
Gets the current data cache style.

Returns: The current data cache style.

getProtectionHashBytes

public byte[] getProtectionHashBytes()
Obtain the password has as a byte array. Author: Howard Shank (hgshank@yahoo.com)

Returns: The bytes of the password hash as a byte array (byte[])

Since: 2.1.1

getProtectionLevel

public int getProtectionLevel()
Author: Howard Shank (hgshank@yahoo.com)

Returns: RTF document protection level

Since: 2.1.1

getProtectionLevelBytes

public byte[] getProtectionLevelBytes()
Author: Howard Shank (hgshank@yahoo.com)

Returns: RTF document protection level as a byte array (byte[])

Since: 2.1.1

getProtectionLevelRaw

public int getProtectionLevelRaw()
Author: Howard Shank (hgshank@yahoo.com)

Returns: RTF document protection level

Since: 2.1.1

getReadOnlyRecommended

public boolean getReadOnlyRecommended()
Get the RTF flag that recommends if the the document should be opened in read only mode. Author: Howard Shank (hgshank@yahoo.com)

Returns: true if flag is set, false if it is not set

Since: 2.1.1

isAlwaysGenerateSoftLinebreaks

public boolean isAlwaysGenerateSoftLinebreaks()
Gets whether all linebreaks inside Chunks are generated as soft linebreaks.

Returns: True if soft linebreaks are generated, false for hard linebreaks.

isAlwaysUseUnicode

public boolean isAlwaysUseUnicode()
Gets whether all characters bigger than 'z' are represented as unicode.

Returns: True if unicode representation is used, false otherwise.

isDocumentProtected

public boolean isDocumentProtected()
Determine if document has protection enabled. Author: Howard Shank (hgshank@yahoo.com)

Returns: true if protection is enabled, false if it is not enabled

Since: 2.1.1

isImagePDFConformance

public boolean isImagePDFConformance()
Gets the current setting on image PDF conformance.

Returns: The current image PDF conformance.

isImageWrittenAsBinary

public boolean isImageWrittenAsBinary()
Gets whether images are written as binary data or are hex encoded. Defaults to true. Author: Mark Hall (Mark.Hall@mail.room3b.eu)

Returns: True if images are written as binary data, false if hex encoded.

Since: 2.1.1

isOutputDebugLineBreaks

public boolean isOutputDebugLineBreaks()
Gets whether to output the line breaks for increased rtf document readability.

Returns: Whether to output line breaks.

isOutputTableRowDefinitionAfter

public boolean isOutputTableRowDefinitionAfter()
Gets whether the table row definition should also be written after the cell content.

Returns: Returns the outputTableRowDefinitionAfter.

isWriteImageScalingInformation

public boolean isWriteImageScalingInformation()
Gets whether to write scaling information for images.

Returns: Whether to write scaling information for images.

registerParagraphStyle

public void registerParagraphStyle(RtfParagraphStyle rtfParagraphStyle)
Registers the RtfParagraphStyle for further use in the document. This does not need to be done for the default styles in the RtfParagraphStyle object. Those are added automatically.

Parameters: rtfParagraphStyle The RtfParagraphStyle to register.

setAlwaysGenerateSoftLinebreaks

public void setAlwaysGenerateSoftLinebreaks(boolean alwaysGenerateSoftLinebreaks)
Sets whether to always generate soft linebreaks.

Parameters: alwaysGenerateSoftLinebreaks Whether to always generate soft linebreaks.

setAlwaysUseUnicode

public void setAlwaysUseUnicode(boolean alwaysUseUnicode)
Sets whether to represent all characters bigger than 'z' as unicode.

Parameters: alwaysUseUnicode True to use unicode representation, false otherwise.

setDataCacheStyle

public void setDataCacheStyle(int dataCacheStyle)
Sets the data cache style. This controls where the document is cached during generation. Two cache styles are supported:

Parameters: dataCacheStyle The data cache style to set. Valid constants can be found in RtfDataCache.

See Also: RtfDataCache

setImagePDFConformance

public void setImagePDFConformance(boolean imagePDFConformance)
Sets the image PDF conformance setting. By default images will be added as if they were displayed with 72dpi. Set this to false if images should be generated with the Word default DPI setting.

Parameters: imagePDFConformance True if PDF equivalence is desired, false for the default Word display.

setImageWrittenAsBinary

public void setImageWrittenAsBinary(boolean imageWrittenAsBinary)
Set whether images are written as binary data or are hex encoded. Author: Mark Hall (Mark.Hall@mail.room3b.eu)

Parameters: imageWrittenAsBinary True to write images as binary data, false for hex encoding.

Since: 2.1.1

setNewPassword

public boolean setNewPassword(String oldPwd, String newPwd)
Author: Howard Shank (hgshank@yahoo.com)

Parameters: oldPwd Old password - clear text newPwd New password - clear text

Returns: true if password set, false if password not set

Since: 2.1.1

setOptionsForMSWord2000And97

public void setOptionsForMSWord2000And97()
Set the options required for RTF documents to display correctly in MS Word 2000 and MS Word 97. Sets outputTableRowDefinitionAfter = true and writeImageScalingInformation = true.

setOptionsForMSWordForMac

public void setOptionsForMSWordForMac()
Set the options required for RTF documents to display correctly in MS Word for Mac. Sets writeImageScalingInformation = true.

setOptionsForMSWordXP

public void setOptionsForMSWordXP()
Set the options required for RTF documents to display correctly in MS Word XP (2002). Sets writeImageScalingInformation = false.

setOptionsForOpenOfficeOrg

public void setOptionsForOpenOfficeOrg()
Set the options required for RTF documents to display correctly in OpenOffice.Org Writer. Sets outputTableRowDefinitionAfter = false.

setOutputDebugLineBreaks

public void setOutputDebugLineBreaks(boolean outputDebugLineBreaks)
Sets whether to output the line breaks for increased rtf document readability. Some line breaks may be added where the rtf specification demands it.

Parameters: outputDebugLineBreaks The outputDebugLineBreaks to set.

setOutputTableRowDefinitionAfter

public void setOutputTableRowDefinitionAfter(boolean outputTableRowDefinitionAfter)
Sets whether the table row definition should also be written after the cell content. This is recommended to be set to true if you need Word2000 compatiblity and false if the document should be opened in OpenOffice.org Writer.

Parameters: outputTableRowDefinitionAfter The outputTableRowDefinitionAfter to set.

setPasswordHash

public void setPasswordHash(String pwd)
This function is not intended for general use. Please see 'public boolean setProtection(int level, String pwd)'. Author: Howard Shank (hgshank@yahoo.com)

Parameters: pwd Password HASH to set the document password hash to.

Since: 2.1.1

setProtection

public boolean setProtection(int level, String pwd)
Author: Howard Shank (hgshank@yahoo.com)

Parameters: level Document protecton level pwd Document password - clear text

Since: 2.1.1

setProtectionLevel

public boolean setProtectionLevel(int level)
Author: Howard Shank (hgshank@yahoo.com)

Parameters: level Document protection level

Since: 2.1.1

setReadOnlyRecommended

public void setReadOnlyRecommended(boolean value)
Set the RTF flag that recommends the document be opened in read only mode. Author: Howard Shank (hgshank@yahoo.com)

Parameters: value true if the flag is to be set, false if it is NOT to be set

Since: 2.1.1

setWriteImageScalingInformation

public void setWriteImageScalingInformation(boolean writeImageScalingInformation)
Sets whether image scaling information should be written. This needs to be set to true MS Word 2000, MS Word 97 and Word for Mac.

Parameters: writeImageScalingInformation Whether to write image scaling information.

unprotectDocument

public boolean unprotectDocument(String pwd)
Author: Howard Shank (hgshank@yahoo.com)

Parameters: pwd Document password - clear text

Returns: true if document unprotected, false if protection is not removed.

Since: 2.1.1