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?
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? –
@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