IPXC_Document doc = convertByExtension[Path.GetExtension(fileName).ToUpper()].Convert(((PXV_Inst)viewerInstance), destFile);
When attempting to convert a DOC/DOCX file, but only those types of files with the following code segment(s). It seems that converting text/images work fine, but Office documents DOC(X)/XLS(X) do not. I'm sure there is some other type of error happening here but how would I figure out what that is?
Code: Select all
convertByExtension = new Dictionary<string, IPXV_ImportConverter>();
for (uint count = 0; count < viewerInstance.ImportConvertersCount; count++)
{
string[] extensions = viewerInstance.ImportConverter[count].Extensions.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
foreach (string s in extensions)
{
if (!corePDFConversionExtensions.Contains(s.Replace("*", "").ToUpper()))
{
corePDFConversionExtensions.Add(s.Replace("*", "").ToUpper());
convertByExtension.Add(s.Replace("*", "").ToUpper(), viewerInstance.ImportConverter[count]);
Logger.Log("Added: " + s.Replace("*", "").ToUpper() + " to possible PDF Conversion types", 5);
}
}
}
Code: Select all
if (viewerInstance == null)
{
try
{
viewerInstance = new PXV_Inst();
viewerInstance.Init(null, DolphinCorePDF.devKey);
Logger.Log("PDF Converter Object Initialized", 5);
}
catch (Exception ex)
{
Logger.Log("Error During Init for PDFTools", ex, 1);
int hr = Marshal.GetHRForException(ex);
PDFTools.LogErrMsg(hr);
}
}
if (auxInst == null)
{
auxInst = (IAUX_Inst)viewerInstance.GetExtension("AUX");
}
ICab AParams;
ICabNode AOpts;
string tempFileName = outputFileName;
AParams = viewerInstance.CreateOpenDocParams();
AOpts = AParams.Root;
AOpts.SetBool("NoProgress", true);
AOpts.Flags &= ~((uint)AFS_OpenFileFlags.AFS_OpenFile_AllowUI);
IAFS_Inst fsInst = (IAFS_Inst)viewerInstance.GetExtension("AFS");
IAFS_Name fileToOpen = fsInst.DefaultFileSys.StringToName(fileName);
int openFlags = ((int)AOpts.Flags);
IAFS_File destFile = fsInst.DefaultFileSys.OpenFile(fileToOpen, openFlags);
IPXC_Document doc = convertByExtension[Path.GetExtension(fileName).ToUpper()].Convert(((PXV_Inst)viewerInstance), destFile);
doc.WriteToFile(tempFileName);
doc.Close();
doc = null;
destFile.Close();
destFile = null;