Java Code Examples for com.lowagie.text.Chunk#setTextRise()

The following examples show how to use com.lowagie.text.Chunk#setTextRise() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: FactoryProperties.java    From gcs with Mozilla Public License 2.0 5 votes vote down vote up
public Chunk createChunk(String text, ChainedProperties props) {
	Font font = getFont(props);
	float size = font.getSize();
	size /= 2;
	Chunk ck = new Chunk(text, font);
	if (props.hasProperty("sub")) {
		ck.setTextRise(-size);
	} else if (props.hasProperty("sup")) {
		ck.setTextRise(size);
	}
	ck.setHyphenation(getHyphenation(props));
	return ck;
}
 
Example 2
Source File: FactoryProperties.java    From itext2 with GNU Lesser General Public License v3.0 5 votes vote down vote up
public Chunk createChunk(String text, ChainedProperties props) {
	Font font = getFont(props);
	float size = font.getSize();
	size /= 2;
	Chunk ck = new Chunk(text, font);
	if (props.hasProperty("sub"))
		ck.setTextRise(-size);
	else if (props.hasProperty("sup"))
		ck.setTextRise(size);
	ck.setHyphenation(getHyphenation(props));
	return ck;
}
 
Example 3
Source File: ChunksTest.java    From itext2 with GNU Lesser General Public License v3.0 5 votes vote down vote up
/**
 * Demonstrates some Chunk functionality.
 */
@Test
public void main() throws Exception {

	// step 1: creation of a document-object
	Document document = new Document();
	// step 2:
	// we create a writer that listens to the document
	PdfWriter.getInstance(document, PdfTestBase.getOutputStream("Chunks.pdf"));

	// step 3: we open the document
	document.open();
	// step 4:
	Chunk fox = new Chunk("quick brown fox");
	float superscript = 8.0f;
	fox.setTextRise(superscript);
	fox.setBackground(new Color(0xFF, 0xDE, 0xAD));
	Chunk jumps = new Chunk(" jumps over ");
	Chunk dog = new Chunk("the lazy dog");
	float subscript = -8.0f;
	dog.setTextRise(subscript);
	dog.setUnderline(new Color(0xFF, 0x00, 0x00), 3.0f, 0.0f, -5.0f + subscript, 0.0f,
			PdfContentByte.LINE_CAP_ROUND);
	document.add(fox);
	document.add(jumps);
	document.add(dog);

	// step 5: we close the document
	document.close();
}
 
Example 4
Source File: ElementFactory.java    From gcs with Mozilla Public License 2.0 4 votes vote down vote up
/**
 * Creates a Chunk object based on a list of properties.
 * 
 * @param attributes
 * @return a Chunk
 */
public static Chunk getChunk(Properties attributes) {
	Chunk chunk = new Chunk();

	chunk.setFont(FontFactory.getFont(attributes));
	String value;

	value = attributes.getProperty(ElementTags.ITEXT);
	if (value != null) {
		chunk.append(value);
	}
	value = attributes.getProperty(ElementTags.LOCALGOTO);
	if (value != null) {
		chunk.setLocalGoto(value);
	}
	value = attributes.getProperty(ElementTags.REMOTEGOTO);
	if (value != null) {
		String page = attributes.getProperty(ElementTags.PAGE);
		if (page != null) {
			chunk.setRemoteGoto(value, Integer.parseInt(page));
		} else {
			String destination = attributes.getProperty(ElementTags.DESTINATION);
			if (destination != null) {
				chunk.setRemoteGoto(value, destination);
			}
		}
	}
	value = attributes.getProperty(ElementTags.LOCALDESTINATION);
	if (value != null) {
		chunk.setLocalDestination(value);
	}
	value = attributes.getProperty(ElementTags.SUBSUPSCRIPT);
	if (value != null) {
		chunk.setTextRise(Float.parseFloat(value + "f"));
	}
	value = attributes.getProperty(Markup.CSS_KEY_VERTICALALIGN);
	if (value != null && value.endsWith("%")) {
		float p = Float.parseFloat(value.substring(0, value.length() - 1) + "f") / 100f;
		chunk.setTextRise(p * chunk.getFont().getSize());
	}
	value = attributes.getProperty(ElementTags.GENERICTAG);
	if (value != null) {
		chunk.setGenericTag(value);
	}
	value = attributes.getProperty(ElementTags.BACKGROUNDCOLOR);
	if (value != null) {
		chunk.setBackground(Markup.decodeColor(value));
	}
	return chunk;
}
 
Example 5
Source File: ElementFactory.java    From itext2 with GNU Lesser General Public License v3.0 4 votes vote down vote up
/**
 * Creates a Chunk object based on a list of properties.
 * @param attributes
 * @return a Chunk
 */
public static Chunk getChunk(Properties attributes) {
	Chunk chunk = new Chunk();

	chunk.setFont(FontFactory.getFont(attributes));
	String value;

	value = attributes.getProperty(ElementTags.ITEXT);
	if (value != null) {
		chunk.append(value);
	}
	value = attributes.getProperty(ElementTags.LOCALGOTO);
	if (value != null) {
		chunk.setLocalGoto(value);
	}
	value = attributes.getProperty(ElementTags.REMOTEGOTO);
	if (value != null) {
		String page = attributes.getProperty(ElementTags.PAGE);
		if (page != null) {
			chunk.setRemoteGoto(value, Integer.parseInt(page));
		} else {
			String destination = attributes
					.getProperty(ElementTags.DESTINATION);
			if (destination != null) {
				chunk.setRemoteGoto(value, destination);
			}
		}
	}
	value = attributes.getProperty(ElementTags.LOCALDESTINATION);
	if (value != null) {
		chunk.setLocalDestination(value);
	}
	value = attributes.getProperty(ElementTags.SUBSUPSCRIPT);
	if (value != null) {
		chunk.setTextRise(Float.parseFloat(value + "f"));
	}
	value = attributes.getProperty(Markup.CSS_KEY_VERTICALALIGN);
	if (value != null && value.endsWith("%")) {
		float p = Float.parseFloat(value.substring(0, value.length() - 1)
				+ "f") / 100f;
		chunk.setTextRise(p * chunk.getFont().getSize());
	}
	value = attributes.getProperty(ElementTags.GENERICTAG);
	if (value != null) {
		chunk.setGenericTag(value);
	}
	value = attributes.getProperty(ElementTags.BACKGROUNDCOLOR);
	if (value != null) {
		chunk.setBackground(Markup.decodeColor(value));
	}
	return chunk;
}
 
Example 6
Source File: JRPdfExporter.java    From jasperreports with GNU Lesser General Public License v3.0 4 votes vote down vote up
/**
 *
 */
protected Chunk getChunk(Map<Attribute,Object> attributes, String text, Locale locale)
{
	// underline and strikethrough are set on the chunk below
	Font font = getFont(attributes, locale, false);

	Chunk chunk = new Chunk(text, font);
	
	if (hasUnderline(attributes))
	{
		// using the same values as sun.font.Fond2D
		chunk.setUnderline(null, 0, 1f / 18, 0, -1f / 12, 0);
	}
	
	if (hasStrikethrough(attributes))
	{
		// using the same thickness as sun.font.Fond2D.
		// the position is calculated in Fond2D based on the ascent, defaulting 
		// to iText default position which depends on the font size
		chunk.setUnderline(null, 0, 1f / 18, 0, 1f / 3, 0);
	}

	Color backcolor = (Color)attributes.get(TextAttribute.BACKGROUND);
	if (backcolor != null)
	{
		chunk.setBackground(backcolor);
	}

	Object script = attributes.get(TextAttribute.SUPERSCRIPT);
	if (script != null)
	{
		if (TextAttribute.SUPERSCRIPT_SUPER.equals(script))
		{
			chunk.setTextRise(font.getCalculatedLeading(1f)/2);
		}
		else if (TextAttribute.SUPERSCRIPT_SUB.equals(script))
		{
			chunk.setTextRise(-font.getCalculatedLeading(1f)/2);
		}
	}

	if (splitCharacter != null)
	{
		//TODO use line break offsets if available?
		chunk.setSplitCharacter(splitCharacter);
	}

	return chunk;
}