Ver código fonte

#65551 - Incorrect fetching paragraph and text runs props from master shape

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1894140 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_5_2_0
Andreas Beeker 2 anos atrás
pai
commit
db71e2328a

+ 1
- 1
poi-ooxml/src/main/java/org/apache/poi/xslf/model/CharacterPropertyFetcher.java Ver arquivo

public T fetchProperty(XSLFShape shape) { public T fetchProperty(XSLFShape shape) {
final XSLFSheet sheet = shape.getSheet(); final XSLFSheet sheet = shape.getSheet();


fetchRunProp();


if (!(sheet instanceof XSLFSlideMaster)) { if (!(sheet instanceof XSLFSlideMaster)) {
fetchRunProp();
fetchParagraphDefaultRunProp(); fetchParagraphDefaultRunProp();
fetchShapeProp(shape); fetchShapeProp(shape);
fetchThemeProp(shape); fetchThemeProp(shape);

+ 2
- 1
poi-ooxml/src/main/java/org/apache/poi/xslf/model/ParagraphPropertyFetcher.java Ver arquivo

public T fetchProperty(XSLFShape shape) { public T fetchProperty(XSLFShape shape) {
final XSLFSheet sheet = shape.getSheet(); final XSLFSheet sheet = shape.getSheet();


fetchParagraphProp();

if (!(sheet instanceof XSLFSlideMaster)) { if (!(sheet instanceof XSLFSlideMaster)) {
fetchParagraphProp();
fetchShapeProp(shape); fetchShapeProp(shape);
fetchThemeProp(shape); fetchThemeProp(shape);
} }

+ 15
- 0
poi-ooxml/src/test/java/org/apache/poi/xslf/TestXSLFBugs.java Ver arquivo

import org.apache.poi.sl.usermodel.Slide; import org.apache.poi.sl.usermodel.Slide;
import org.apache.poi.sl.usermodel.SlideShow; import org.apache.poi.sl.usermodel.SlideShow;
import org.apache.poi.sl.usermodel.SlideShowFactory; import org.apache.poi.sl.usermodel.SlideShowFactory;
import org.apache.poi.sl.usermodel.TextParagraph;
import org.apache.poi.sl.usermodel.TextRun; import org.apache.poi.sl.usermodel.TextRun;
import org.apache.poi.sl.usermodel.TextShape; import org.apache.poi.sl.usermodel.TextShape;
import org.apache.poi.sl.usermodel.VerticalAlignment; import org.apache.poi.sl.usermodel.VerticalAlignment;
targetPresentation.write(new UnsynchronizedByteArrayOutputStream()); targetPresentation.write(new UnsynchronizedByteArrayOutputStream());
} }
} }

@Test
public void bug65551() throws IOException {
try (XMLSlideShow ppt = openSampleDocument("bug65551.pptx")) {
XSLFTextShape shape = (XSLFTextShape)ppt.getSlideMasters().get(0).getShapes().get(1);
XSLFTextParagraph tp = shape.getTextParagraphs().get(0);
assertEquals(TextParagraph.TextAlign.RIGHT, tp.getTextAlign());
XSLFTextRun tr = tp.getTextRuns().get(0);
PaintStyle fc = tr.getFontColor();
assertTrue(fc instanceof SolidPaint);
SolidPaint sp = (SolidPaint)fc;
assertEquals(Color.RED, sp.getSolidColor().getColor());
}
}
} }

BIN
test-data/slideshow/bug65551.pptx Ver arquivo


Carregando…
Cancelar
Salvar