/*
* This file is part of Sejda.
*
* Sejda is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Sejda is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with Sejda. If not, see <http://www.gnu.org/licenses/>.
*/
package org.sejda.impl.sambox.component;
import org.junit.Test;
import org.sejda.impl.sambox.util.FontUtils;
import org.sejda.model.exception.TaskIOException;
import org.sejda.model.exception.UnsupportedTextException;
import org.sejda.model.pdf.StandardType1Font;
import org.sejda.sambox.pdmodel.PDDocument;
import org.sejda.sambox.pdmodel.PDPage;
import org.sejda.sambox.pdmodel.font.PDFont;
import java.awt.*;
public class PageTextWriterTest {
private PDFont helvetica = FontUtils.getStandardType1Font(StandardType1Font.HELVETICA);
private void write(String text) throws TaskIOException {
PDDocument doc = new PDDocument();
PDPage page = new PDPage();
doc.addPage(page);
PageTextWriter writer = new PageTextWriter(doc);
writer.write(page, new Point(10, 10), text, helvetica, 10d, Color.BLACK);
}
@Test
public void resolveTextAndFontsWhenTextRepeats() throws TaskIOException {
write("123α456α789");
}
@Test
public void resolvedSpaceSeparately() throws TaskIOException {
write("ab cd");
}
@Test(expected = UnsupportedTextException.class)
public void throwsWhenCharacterUnsupported() throws TaskIOException {
write("\uFE0F");
}
}