use of org.apache.pdfbox.cos.COSNumber in project pdfbox by apache.
the class SetFontAndSize method process.
@Override
public void process(Operator operator, List<COSBase> arguments) throws IOException {
if (arguments.size() < 2) {
throw new MissingOperandException(operator, arguments);
}
COSBase base0 = arguments.get(0);
COSBase base1 = arguments.get(1);
if (!(base0 instanceof COSName)) {
return;
}
if (!(base1 instanceof COSNumber)) {
return;
}
COSName fontName = (COSName) base0;
float fontSize = ((COSNumber) base1).floatValue();
context.getGraphicsState().getTextState().setFontSize(fontSize);
PDFont font = context.getResources().getFont(fontName);
context.getGraphicsState().getTextState().setFont(font);
}
use of org.apache.pdfbox.cos.COSNumber in project pdfbox by apache.
the class SetTextRise method process.
@Override
public void process(Operator operator, List<COSBase> arguments) throws IOException {
if (arguments.size() < 1) {
return;
}
COSBase base = arguments.get(0);
if (!(base instanceof COSNumber)) {
return;
}
COSNumber rise = (COSNumber) base;
context.getGraphicsState().getTextState().setRise(rise.floatValue());
}
use of org.apache.pdfbox.cos.COSNumber in project pdfbox by apache.
the class SetWordSpacing method process.
@Override
public void process(Operator operator, List<COSBase> arguments) {
if (arguments.size() < 1) {
return;
}
COSBase base = arguments.get(0);
if (!(base instanceof COSNumber)) {
return;
}
COSNumber wordSpacing = (COSNumber) base;
context.getGraphicsState().getTextState().setWordSpacing(wordSpacing.floatValue());
}
use of org.apache.pdfbox.cos.COSNumber in project pdfbox by apache.
the class SetFlatness method process.
@Override
public void process(Operator operator, List<COSBase> operands) throws IOException {
if (operands.size() < 1) {
throw new MissingOperandException(operator, operands);
}
if (!checkArrayTypesClass(operands, COSNumber.class)) {
return;
}
COSNumber value = (COSNumber) operands.get(0);
context.getGraphicsState().setFlatness(value.floatValue());
}
use of org.apache.pdfbox.cos.COSNumber in project pdfbox by apache.
the class SetLineDashPattern method process.
@Override
public void process(Operator operator, List<COSBase> arguments) throws MissingOperandException {
if (arguments.size() < 2) {
throw new MissingOperandException(operator, arguments);
}
COSBase base0 = arguments.get(0);
if (!(base0 instanceof COSArray)) {
return;
}
COSBase base1 = arguments.get(1);
if (!(base1 instanceof COSNumber)) {
return;
}
COSArray dashArray = (COSArray) base0;
int dashPhase = ((COSNumber) base1).intValue();
boolean allZero = true;
for (COSBase base : dashArray) {
if (base instanceof COSNumber) {
COSNumber num = (COSNumber) base;
if (Float.compare(num.floatValue(), 0) != 0) {
allZero = false;
break;
}
} else {
LOG.warn("dash array has non number element " + base + ", ignored");
dashArray = new COSArray();
break;
}
}
if (dashArray.size() > 0 && allZero) {
LOG.warn("dash lengths all zero, ignored");
dashArray = new COSArray();
}
context.setLineDashPattern(dashArray, dashPhase);
}
Aggregations