Destacar parte do texto antes de salvar o arquivo

Olá, eu preciso salvar o texto de uma string em um arquivo (pdf, doc, etc) e gostaria de destacar (coloração ou negrito) determinadas partes dessa string de acordo com uma condição. Alguém pode me dar um exemplo para fazer isso?

Desde já, agradeço.

Ola,

Veja se isso te ajuda: https://pt.stackoverflow.com/questions/29355/marcar-colorir-uma-string-para-escrever-no-arquivo

Já havia tentado por este link. Não deu certo.

Acredito que o mais fácil seria pegar o texto e gerar um PDF usando o iText. Usando ele, ao pegar o texto, você pode formatar a parte que quiser e salvar o arquivo no formato PDF.

Oi Lucas, eu estou fazendo isso que você disse mesmo. O que eu quero saber é COMO formatar. Se tem algum modo de deixar só determinada parte do texto em negrito.

Segue exemplo:

package teste.main;

import java.io.FileOutputStream;

import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.Font;
import com.itextpdf.text.Font.FontFamily;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.PdfWriter;

public class MainTeste {
	
	private static final String DEST = "/home/lucas/Área de Trabalho/meuTextoDestacado.pdf";
	private static final Font NEGRITO = new Font(FontFamily.HELVETICA, 15f, Font.BOLD);
	
	public static void main(String[] args) throws Exception {
		String myPlainText = "Este é um texto de exemplo que terá uma parte destacada em negrito";
		int startIndexText = 15, endIndexText = 30;
		
		Document document = new Document();
		PdfWriter.getInstance(document, new FileOutputStream(DEST));
		document.open();
		
		Chunk chunkBefore = new Chunk(myPlainText.substring(0, startIndexText));
		Chunk chunkBold = new Chunk(myPlainText.substring(startIndexText, endIndexText), NEGRITO);
		Chunk chunkAfter = new Chunk(myPlainText.substring(endIndexText, myPlainText.length()));
		
		Phrase phrase = new Phrase();
		phrase.add(chunkBefore);
		phrase.add(chunkBold);
		phrase.add(chunkAfter);
		
		document.add(phrase);
		
		document.close();
	}

}

Usei essa dependência maven do iText:

<dependency>
	<groupId>com.itextpdf</groupId>
	<artifactId>itextpdf</artifactId>
	<version>5.0.6</version>
</dependency>

Resultado:
meuTextoDestacado.pdf (1,1 KB)

2 curtidas

Funcionou, obrigada! :smiley: