2017-09-22 2 views
0

Je suis en train de convertir html en ppt en utilisant la bibliothèque aspose java. Mais, je ne pouvais pas générer des styles tels que (rembourrage, fond couleur, etc.), alors que des styles tels que (couleur, taille de la police) travaillent très bien, jetez un oeil sur le code ..Impossible d'intégrer le style dans aspose ppt qui est rendu à partir du fichier html

public class poi { 

     public static void main(String[] args) throws Exception { 

      // The path to the documents directory. 
      String dataDir = Utils.getDataDir(poi.class); 

      // Create Empty presentation instance 
      Presentation pres = new Presentation(); 

      // Access the default first slide of presentation 
      ISlide slide = pres.getSlides().get_Item(0); 

      // Adding the AutoShape to accommodate the HTML content 
      IAutoShape ashape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 300, 150); 

      ashape.getFillFormat().setFillType(FillType.NoFill); 

      // Adding text frame to the shape 
      ashape.addTextFrame(""); 

      // Clearing all paragraphs in added text frame 
      ashape.getTextFrame().getParagraphs().clear(); 

      // Loading the HTML file using InputStream 
      InputStream inputStream = new FileInputStream(dataDir + "file.html"); 
      Reader reader = new InputStreamReader(inputStream); 

      int data = reader.read(); 
      String content = ReadFile(dataDir + "file.html"); 

      // Adding text from HTML stream reader in text frame 
      ashape.getTextFrame().getParagraphs().addFromHtml(content); 

      // Saving Presentation 
      pres.save(dataDir + "output.pptx", SaveFormat.Pptx); 


     } 

     public static String ReadFile(String FileName) throws Exception { 

      File file = new File(FileName); 
      StringBuilder contents = new StringBuilder(); 
      BufferedReader reader = null; 

      try { 
       reader = new BufferedReader(new FileReader(file)); 
       String text = null; 

       // repeat until all lines is read 
       while ((text = reader.readLine()) != null) { 
        contents.append(text).append(System.getProperty("line.separator")); 
       } 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } finally { 
       try { 
        if (reader != null) { 
         reader.close(); 
        } 
       } catch (IOException e) { 
        e.printStackTrace(); 
        return null; 
       } 
      } 

      return contents.toString(); 

     } 

    } 

Comme vous peut voir que je charge le fichier html qui a un style en ligne, mais je ne pouvais pas vraiment faire la plupart des éléments CSS à charger. Aucune suggestion?

Répondre

1

@Balchandar Reddy,

je l'ai observé vos besoins et vous faire part que actuellement Aspose.Slides appui aux importations de texte de base ainsi que le support d'étiquette limitée dans les présentations généré à l'aide Aspose.Slides. Je vous demande de partager le code HTML requis avec les tags souhaités pour lesquels vous avez l'intention de prendre en charge Aspose.Slides. J'en discuterai avec notre équipe de produit et je l'ajouterai comme nouvelle demande de fonctionnalité dans notre système de suivi des problèmes.

Je travaille comme Support developer/Evangelist chez Aspose.

+0

Mon exigence est assez complexe, il comprend des tables html avec chaque cellule ayant une couleur de fond différente et certaines pages ont des graphiques différents comme bar, colonne et tarte, etc. est-ce possible de faire avec aspose? –

+0

@Balchandar Reddy à l'heure actuelle, Aspose.Slides ne supporte que l'importation de texte de base du HTML aux cadres de texte de présentation. – Mudassir