PPTX to Image-Konvertierung funktioniert unter Windows Server 2012 nicht.
Wir müssen hochgeladene PPT- oder PPTX-Dateien in Bilddateien konvertieren. Wir haben dies lokal mit folgendem (POC-Code) entwickelt:
Application pptApplication = new Application();
Microsoft.Office.Interop.PowerPoint.Presentation pptPresentation = pptApplication.Presentations.Open2007(filePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
List<string> files = new List<string>();
for (int i = 1; i <= pptPresentation.Slides.Count; i++)
{
pptPresentation.SaveCopyAs(serverPath + randomId, PpSaveAsFileType.ppSaveAsPNG, MsoTriState.msoTrue);
files.Add(root + "Uploads/Slide" + i + ".PNG");
}
pptPresentation.Close();
Wenn dieser Code unter Windows Server 2012 R2 bereitgestellt wird, wird folgende Fehlermeldung angezeigt:
Dieser Fehler scheint ein Problem mit den Zugriffsberechtigungen zu sein, und als ich gegoogelt habe, habe ich mehrere Lösungen gefunden, die ich ohne Glück ausprobiert habe. Einige davon:
Office auf Server installieren - macht keinen Sinn, um Office auf Server zu haben :( Nun, ich habe es installiert und bekomme immer noch das gleiche Problem.
Installieren Sie Office Interop-Assemblys auf dem Server - ich kann diese Assembly für Windows Server 2012 nicht finden, die hier gefundene.https: //www.microsoft.com/en-us/download/details.aspx? id = 3508 wird für 2012 nicht unterstützt, und wenn ich es installiert habe, funktioniert es nicht.
Versuchte diese Lösunghttps: //stackoverflow.com/a/3011714 auc
Wir können nicht zu kostenpflichtigen Lösungen wie Aspose, Spire usw. wechseln.
Jede Hilfe zu diesem Thread wird sehr geschätzt. Vielen Dank