Ejemplo n.º 1
0
        static IAdapter GetAdapter(string inputFile)
        {
            string extension = Path.GetExtension(inputFile).ToLower();

            switch (extension)
            {
            case ".htm":
            case ".html":
                if (HtmAdapter.CanProcess(inputFile))
                {
                    return(new HtmAdapter(inputFile));
                }
                else
                {
                    return(new AngleHtmlAdapter(inputFile, MaxRowsToProcess));
                }

            case ".pdf":
            case ".xhtml":
            case ".doc":
            case ".rtf":
            case ".toloka_json":
            case ".docx":
                return(OpenXmlWordAdapter.CreateAdapter(inputFile, MaxRowsToProcess));

            case ".xls":
            case ".xlsx":
                if (AdapterFamily == "aspose" || AdapterFamily == "prod")
                {
                    if (!AsposeLicense.Licensed && extension == ".xls")
                    {
                        throw new Exception("xls file format is not supported");
                    }

                    if (AsposeLicense.Licensed)
                    {
                        return(AsposeExcelAdapter.CreateAdapter(inputFile, MaxRowsToProcess));
                    }
                }
                else if (AdapterFamily == "npoi")
                {
                    return(NpoiExcelAdapter.CreateAdapter(inputFile, MaxRowsToProcess));
                }
                else
                {
                    return(null);
                }

                break;

            default:
                Logger.Error("Unknown file extension " + extension);
                return(null);
            }

            Logger.Error("Cannot find adapter for " + inputFile);
            return(null);
        }
        public void RealEstateColumnDetector()
        {
            string   docxFile = Path.Combine(TestUtil.GetTestDataPath(), "glav_44_2010.doc");
            IAdapter adapter  = OpenXmlWordAdapter.CreateAdapter(docxFile, -1);

            ColumnOrdering ordering = ColumnDetector.ExamineTableBeginning(adapter);

            Assert.AreEqual(ordering.ColumnOrder.Count, 9);
        }
        public void SpendingsWrongColumnTest()
        {
            string   docxFile = Path.Combine(TestUtil.GetTestDataPath(), "82442.doc");
            IAdapter adapter  = OpenXmlWordAdapter.CreateAdapter(docxFile, -1);

            ColumnOrdering ordering = ColumnDetector.ExamineTableBeginning(adapter);

            Assert.AreEqual(ordering.ColumnOrder[DeclarationField.DeclaredYearlyIncome].BeginColumn, 1);
        }
        public void TwoRowHeaderEmptyTopCellTest()
        {
            string   docxFile = Path.Combine(TestUtil.GetTestDataPath(), "57715.doc");
            IAdapter adapter  = OpenXmlWordAdapter.CreateAdapter(docxFile, -1);

            ColumnOrdering ordering = ColumnDetector.ExamineTableBeginning(adapter);

            Assert.AreEqual(ordering.ColumnOrder.Count, 13);
            Assert.AreEqual(ordering.ColumnOrder[DeclarationField.Vehicle].BeginColumn, 10);
            Assert.AreEqual(ordering.ColumnOrder[DeclarationField.DeclaredYearlyIncome].BeginColumn, 11);
        }
        public void RedundantColumnDetector()
        {
            string   docxFile = Path.Combine(TestUtil.GetTestDataPath(), "18664.docx");
            IAdapter adapter  = OpenXmlWordAdapter.CreateAdapter(docxFile, -1);

            ColumnOrdering ordering = ColumnDetector.ExamineTableBeginning(adapter);

            Assert.AreEqual(ordering.ColumnOrder.Count, 13);
            Assert.AreEqual(ordering.ColumnOrder[DeclarationField.AcquiredProperty].BeginColumn, 11);
            Assert.AreEqual(ordering.ColumnOrder[DeclarationField.MoneySources].BeginColumn, 12);
        }
Ejemplo n.º 6
0
        private static IAdapter GetCommonAdapter(string inputFile)
        {
            if (AdapterFamily != "aspose")
            {
                if (AdapterFamily == "prod")
                {
                    return(OpenXmlWordAdapter.CreateAdapter(inputFile, MaxRowsToProcess));
                }
            }
            else if (!AsposeLicense.Licensed)
            {
                throw new Exception("doc and docx file format is not supported");
            }

            return(AsposeDocAdapter.CreateAdapter(inputFile));
        }