2014-02-28 8 views
6

Open Office/Libre Office Presentation을 템플릿으로 사용하고 슬라이드에 텍스트와 이미지를 삽입하고 싶습니다. odftoolkit을 사용하려고합니다. 상자가있는 슬라이드가있는 경우ODFToolkit의 OpenOffice odp 프리젠 테이션 프레임에 컨텐츠 추가

어떻게 이미지에 배치 할 수 있습니까? 이 수업을 사용해야합니까?

I는 I 보는 관련 방법 개방 슬라이드가 org.odftoolkit.simple.PresentationDocument

  • org.odftoolkit.simple.presentation.Slide
  • 같습니다

    • .getOdfElement
    • .getFrameContainerElement
    0

    하지만 슬라이드에서 프레임을 선택하는 방법을 볼 수 없습니다. XML을 열 때 <draw:page> 아래에 5 개의 프레임이 있습니다. presentation:style-name="pr2" draw:layer="layout"

    +1

    적어도 슬라이드의 프레임 컨테이너 요소를 가져 와서 모든 하위 항목을 반복하고 해당 클래스와 속성을 수동으로 확인하여 대상 프레임을 찾으십시오. –

    답변

    4

    유진 댓글을 달았습니다, 나는 대상 프레임을 찾아 더 많은 작업을해야했다 :

    같은 속성이 있습니다. 슬라이드에만 이미지를 프레임에 추가 할 수있는 방법이 없습니다. 나는 방법에 가서 다음과 같이 성공 : 나는 프레임을 찾기 위해 몇 가지 스타일과 더 나은 방법을 놓친 생각하기 때문에 나는 GUI에 가까운 뭔가를 기대했다

    DrawPageElement drawPageElement = slide.getOdfElement(); 
    DrawFrameElement drawFrame = OdfElement.findFirstChildNode(DrawFrameElement.class, drawPageElement); 
    DrawImageElement image = drawFrame.newDrawImageElement(); 
    OdfPackage mOdfPackage = odp.getPackage(); 
    String imageRef = "/some/path/to/chart.png"; 
    
    String packagePath = odp.getDocumentPath() + OdfPackage.OdfFile.IMAGE_DIRECTORY.getPath() + "/" + someMethodToCreateRandomString(); 
    
    mOdfPackage.insert(new URI(imageRef), packagePath, OdfFileEntry.getMediaTypeString(imageRef)); 
    packagePath = packagePath.replaceFirst(odp.getDocumentPath(), ""); 
    URI uri = new URI(AnyURI.encodePath(packagePath).toString()); 
    image.setXlinkHrefAttribute(AnyURI.decodePath(uri.toString())); 
    image.setXlinkActuateAttribute("onLoad"); 
    image.setXlinkShowAttribute("embed"); 
    image.setXlinkTypeAttribute("simple"); 
    

    . 그러나 어쨌든 그것은 나쁘지 않습니다.