преобразовать HTML в документ в C # и вернуть его в двоичном виде - PullRequest
1 голос
/ 28 марта 2011

У меня есть этот код для преобразования HTML-страницы в документ, но у меня есть вопрос

Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
            Microsoft.Office.Interop.Word.Document wordDoc = new Microsoft.Office.Interop.Word.Document();
            Object oMissing = System.Reflection.Missing.Value;
            wordDoc = word.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
            word.Visible = false;
            Object filepath = "c:\\pagina.html";
            Object confirmconversion = System.Reflection.Missing.Value;
            Object readOnly = false;
            Object saveto = "c:\\doc.pdf";
            Object oallowsubstitution = System.Reflection.Missing.Value;

            wordDoc = word.Documents.Open(ref filepath, ref confirmconversion, ref readOnly, ref oMissing,
                                          ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                                          ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                                          ref oMissing, ref oMissing, ref oMissing, ref oMissing);
            object fileFormat = WdSaveFormat.wdFormatPDF;
            wordDoc.SaveAs(ref saveto, ref fileFormat, ref oMissing, ref oMissing, ref oMissing,
                           ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                           ref oMissing, ref oMissing, ref oMissing, ref oallowsubstitution, ref oMissing,
                           ref oMissing);

Как я могу сохранить в переменной байты [], и не сохранить как в HDD, возможно

Ответы [ 2 ]

2 голосов
/ 28 марта 2011

Я не уверен, что метод SaveAs поддерживает поток памяти, почему бы не попробовать прочитать файл как байт после сохранения, а затем удалить его из жесткого диска. Строка ниже будет читать файл как байт

 byte[] pdfFile = System.IO.File.ReadAllBytes((string)saveto);
1 голос
/ 28 марта 2011

Вы можете записать свой документ в MemoryStream и прочитать его из MemoryStream - метод чтения аналогичен методу FileStream.Так что жесткий диск не задействован - и у вас есть ваш байт [], и я думаю, вы хотите записать его в HTTP-заголовок для загрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...