Hello team,
Thank you for your support.
PQ2395.zip (252.5 KB)
1.jpg (15.0 KB)
I have converted PQ2395.ppt to image however I got 2 errors.
- reflection
- 3D
I have also attached PQ2395SaveAsPdfByPowerPoint.pdf which is a pdf MS PowerPoint outputs correctly as a reference.
PQ2395SaveAsPdfByPowerPoint.pdf (68.6 KB)
This is my code.
public static List<string> ConvertPowerPointToImage(string docName, MemoryStream docStream, Dictionary<string, string> config)
{
try
{
var pageInfoList = new List<string>();
// Get config setting
string docRootDir = config["DocumentsFilePath"];
int dpi = int.Parse(config["ImageDPI"]);
int thumbMaxH = int.Parse(config["ThumbnailMaxHeight"]);
int thumbMaxW = int.Parse(config["ThumbnailMaxWidth"]);
int maxPageNum = int.Parse(config["DocumentMaxPageNum"]);
float readScale = float.Parse(config["ImageReadScale"]);
// Create images directory
string pageImgDir = docRootDir;
if (!Directory.Exists(pageImgDir))
Directory.CreateDirectory(pageImgDir);
// Get the encoder of JPEG
ImageCodecInfo jpgEncoder = GetCodecInfo();
//EncoderParameters encParams = GetEncoderParams();
EncoderParameters encParams = GetEncoderParams(int.Parse(config["ImageJpegQuality"]));
// Instantiate the License class
Aspose.Slides.License license = new Aspose.Slides.License();
license.SetLicense("Aspose.Total.lic");
// Convert .doc and .docx file to PDF.
Presentation presen = new Presentation(docStream);
for (int i = 0; (i < presen.Slides.Count) && (i < maxPageNum); i++)
{
ISlide slide = presen.Slides[i];
// Export image file
string imgFile = string.Format("{0}_{1:D8}.jpg",
Path.GetFileNameWithoutExtension(docName), i+1);
string imgPath = Path.Combine(pageImgDir, imgFile);
string thumbFilename = string.Format(@"{0}_thumb.jpg", Path.GetFileNameWithoutExtension(imgPath));
string thumbPath = Path.Combine(Path.GetDirectoryName(imgPath), thumbFilename);
using (Bitmap bitmap = slide.GetThumbnail(readScale, readScale))
{
bitmap.SetResolution(dpi, dpi);
bitmap.Save(imgPath, jpgEncoder, encParams);
}
// Add PageInfo List
pageInfoList.Add(imgPath);
}
// return results with flag of max page limit over
return pageInfoList;
}
finally
{
}
}
They are parameters.
// Get config setting
Create Appseting key value for async function
Dictionary<string, string> config = new Dictionary<string, string>();
config.Add("DocumentsFilePath", outDir);
config.Add("ImageDPI", "96");
config.Add("ImageReadScale", "1.25");
config.Add("ThumbnailMaxHeight", "252");
config.Add("ThumbnailMaxWidth", "210");
config.Add("ImageJpegQuality", "80");
config.Add("DocumentMaxPageNum", "1000");
Thank you,
PFU DSOL2