Pdf with embedded font can't be read with
'org.xhtmlrenderer:flying-saucer-core:9.1.15'
'org.xhtmlrenderer:flying-saucer-pdf-openpdf:9.1.15'
Test example:
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.parser.PdfTextExtractor;
import org.junit.jupiter.api.Test;
import org.xhtmlrenderer.pdf.ITextRenderer;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import static org.junit.jupiter.api.Assertions.assertTrue;
class PdfContentExtracting {
@Test
void test() throws Exception {
ITextRenderer renderer = new ITextRenderer();
renderer.setDocumentFromString("<html><head><style>* { font-family: 'Roboto'; }</style></head><body>Hello</body></html>");
renderer.getFontResolver()
.addFont("path/to/Roboto-Regular.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
renderer.layout();
ByteArrayOutputStream os = new ByteArrayOutputStream();
renderer.createPDF(os);
PdfReader reader = new PdfReader(new ByteArrayInputStream(os.toByteArray()));
PdfTextExtractor extractor = new PdfTextExtractor(reader, false);
String content = extractor.getTextFromPage(1);
assertTrue(content.contains("Hello"), "Actual content: " + content);
}
}