@gabriel.vega,
While we intend to use this for multiple file formats, my initial testing has been with a JPG file (18414.jpg (10.3 KB)).
As for the config, we are using what is in the sample projects. Our internal image API returns a byte array which we are passing to the viewer OpenDocument method along with the file extension and config:
[Route("Common/GetDocumentImage")]
[HttpPost]
public async Task<ContentResult> GetDocumentImage(string filename)
{
var imageApiClient = this.GetImageApiClient();
var response = await imageApiClient.GetDocumentImage(filename);
if (!response.Success)
{
Log.Error(response.Exception?.Message, response.Exception);
return null;
}
if (response.Data.Length == 0)
{
Log.Error("Empty document byte array");
return null;
}
var viewer = new Viewer
{
ID = "ctlDummyDoc",
DebugMode = true,
};
BaseConfig config = null;
switch (new FileInfo(filename).Extension.ToUpper())
{
case ".DOC":
case ".DOCX":
case ".DOT":
case ".DOTX":
case ".ODT":
config = new WordConfig { DefaultRender = false, }; // turn off, if you don't want hyperlinks
var pdfConfig = (config as WordConfig).PdfConfig;
pdfConfig.ExtractHyperlinks = true;
pdfConfig.HyperlinksPageCount = 5; // check hyperlinks for first 5 pages only; specify 0 for all.
break;
case ".XLS":
case ".XLSX":
case ".ODS":
case ".CSV":
config = new ExcelConfig
{
DefaultRender = false,
SplitWorksheets = true,
ShowEmptyWorkSheets = false,
PaperSize = ExcelPaperSize.PaperA3,
PaperLandscape = true,
CalculateFormula = true,
AutoFitContents = true,
RemoveEmptyContent = false,
CustomStyles = new ExcelConfig.CustomStyleCell
{
CustomStyleDateTime = "dd-MM-yyyy",
},
DocumentCulture = "en-US",
};
break;
case ".PPT":
case ".PPTX":
case ".ODP":
config = new PptConfig() { DefaultRender = true };
break;
case ".DWG":
case ".DXF":
config = new CadConfig { DefaultRender = false, ShowColor = false, WhiteBackground = true, ShowModel = true, ShowLayouts = true, LineWidth = 1, Check3DSolid = false };
break;
case ".DGN":
config = new CadConfig { DefaultRender = false, ShowColor = false, WhiteBackground = true, ShowModel = true, ShowLayouts = true, LineWidth = 1, Check3DSolid = false };
break;
case ".EML":
case ".MSG":
config = new EmailConfig { EmailEncoding = Encoding.UTF8, DefaultRender = false, RemoveLastWhitePage = true, TimeZoneOffset = new TimeSpan(-3, 0, 0) };
break;
case ".PDF":
config = new PdfConfig { DefaultRender = false, ExtractHyperlinks = true, HyperlinksPageCount = 5 }; // specify true if you need hyperlinks
break;
case ".PNG":
case ".BMP":
case ".JPG":
case ".JPEG":
case ".GIF":
case ".CDR":
case ".CMX":
case ".DNG":
case ".EPS":
case ".ICO":
case ".TGA":
case ".WEBP":
config = new ImageConfig { MaxImagePixelSize = 2000, TransparentPng = false };
break;
case ".TIF":
case ".TIFF":
config = new TiffConfig();
break;
case ".PSD":
config = new PsdConfig { MaxImagePixelSize = 2000 };
break;
case ".TXT":
config = new TxtConfig { PaperSize = DocPaperSize.A4, FileEncoding = Encoding.UTF8 };
break;
case ".MPP":
case ".MPPX":
config = new ProjectConfig { ExportPdfA = true, DefaultRender = false, PaperSize = MppPaperSize.A3 };
break;
case ".VSD":
case ".VSDX":
config = new VisioConfig { ExportPdfA = true, DefaultRender = false };
break;
case ".DCM":
config = new DicomConfig { ShowAnimation = true };
break;
case ".MHT":
config = new MhtConfig { DefaultRender = false };
break;
case ".XPS":
config = new XpsConfig { DefaultRender = false };
break;
}
var token = viewer.OpenDocument(response.Data, new FileInfo(filename).Extension.ToUpper(), config);
if (string.IsNullOrWhiteSpace(token))
{
return this.Content($"Error : {viewer.InternalError}");
}
return this.Content(token);
}
Thanks.