public static IConverter GetConverter(SupportedExtensions extension)
        {
            IConverter converter = null;

            switch (extension)
            {
            case SupportedExtensions.doc:
            case SupportedExtensions.docx:
                converter = new WordToPdfConverter();
                break;

            case SupportedExtensions.ppt:
            case SupportedExtensions.pptx:
                converter = new PowerPointToPdfConverter();
                break;

            case SupportedExtensions.xls:
            case SupportedExtensions.xlsx:
                converter = new ExcelToHtmlConverter();
                break;

            case SupportedExtensions.rtf:
                converter = new RtfToPdfConverter();
                break;

            case SupportedExtensions.eml:
            case SupportedExtensions.msg:
                converter = new MailToHtmlConverter();
                break;
            }
            return(converter);
        }
        public void Convert_When_RtfFileNotFound_Then_NullIsRetuned()
        {
            RtfToPdfConverter converter   = new RtfToPdfConverter();
            string            newFilePath = converter.Convert("test.rtf", "Temp");

            Assert.That(newFilePath, Is.Null);
        }
Example #3
0
        static void Main(string[] args)
        {
            Console.Out.WriteLine("Start Program");

            string fileToConvert = "C:\\Temp\\Test.rtf";

            if (args.Length == 1)
            {
                fileToConvert = args[0];
            }

            try
            {
                Console.Out.WriteLine("File to convert: " + fileToConvert);

                byte[] fileToConvertBytes = System.IO.File.ReadAllBytes(fileToConvert);

                Console.Out.WriteLine("Rtf Bytes: " + Convert.ToBase64String(fileToConvertBytes));

                string base64PdfContent = RtfToPdfConverter.ConvertRtfToPdf("Unique", fileToConvertBytes, false);

                Console.Out.WriteLine("Base64 Bytes: " + base64PdfContent);

                System.IO.File.WriteAllBytes(fileToConvert + ".pdf", Convert.FromBase64String(base64PdfContent));

                Console.Out.WriteLine("End Program");
            }
            catch (Exception e)
            {
                Console.Out.WriteLine(e.Message);
            }
        }
        public void Convert_When_RtfFileIsFound_Then_NewFilePathIsReturned()
        {
            RtfToPdfConverter converter   = new RtfToPdfConverter();
            string            root        = Path.GetDirectoryName(Path.GetDirectoryName(TestContext.CurrentContext.TestDirectory));
            string            newFilePath = converter.Convert(Path.Combine(root, "Samples\\sample.rtf"), Path.Combine(root, "Temp"));

            Assert.That(newFilePath, Is.Not.Null);
            Assert.That(Path.GetExtension(newFilePath), Is.EqualTo(".pdf"));
        }
        public void Convert_When_RtfDestinationPathDoesNotExist_Then_DirectoryIsCreated()
        {
            string            currentDateSpan = DateTime.Now.Ticks.ToString();
            RtfToPdfConverter converter       = new RtfToPdfConverter();
            string            root            = Path.GetDirectoryName(Path.GetDirectoryName(TestContext.CurrentContext.TestDirectory));

            Assert.That(Directory.Exists(Path.Combine(root, "Temp" + currentDateSpan)), Is.False);
            converter.Convert(Path.Combine(root, "Samples\\sample.rtf"), Path.Combine(root, "Temp" + currentDateSpan));
            Assert.That(Directory.Exists(Path.Combine(root, "Temp" + currentDateSpan)), Is.True);
            Directory.Delete(Path.Combine(root, "Temp" + currentDateSpan), true);
        }
        public static void Convert()
        {
            RtfToPdfConverter converter = new RtfToPdfConverter();

            //Load rtf document from stream
            using (Stream stream = File.OpenRead("sample.rtf"))
            {
                converter.Load(stream);
            }

            //Convert rtf to pdf, and save it to byte array
            File.WriteAllBytes("convert.pdf", converter.SaveAsBytes());
        }