Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
192 / 199 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
1

Doc в pdf (Microsoft Works 6–9)

13.05.2014, 13:09. Показов 3040. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеем word 2003 и вот это

C#
1
2
3
4
5
6
7
object outputFileName = System.IO.Path.ChangeExtension(pathfile, "pdf");
object fileFormat = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF;
// Save document into PDF Format
doc.SaveAs(ref outputFileName, ref fileFormat, ref _MissingValue, ref _MissingValue,
ref _MissingValue, ref _MissingValue, ref _MissingValue, ref _MissingValue,
ref _MissingValue, ref _MissingValue, ref _MissingValue, ref _MissingValue,
ref _MissingValue, ref _MissingValue, ref _MissingValue, ref _MissingValue);
При выполнении кода получаем сообщение от wordа что для этого файла требуется более новый конвертер файлов Microsoft Works 6–9 и отправляет сюда http://www.microsoft.com/ru-ru... aspx?id=12

скачал установил эффекта ноль прошу помощи
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2014, 13:09
Ответы с готовыми решениями:

Посоветуйте библиотеку для формирования отчетов в *.pdf, *.doc, *.xls
Доброго времени суток, уважаемые форумчане! В очередной раз поднимаю вопрос об отчетах в C#.NET....

Экспорт в doc или в pdf
добрый день, у меня еще очень небольшой экспириенс в asp.net, поэтому прошу помощи... итак, нужно...

Генерация DOC и PDF в asp.net проекте
Добрый день требуется найти оптимальное решение для генерации DOC и PDF документов. 1) У...

Сервер не находит некоторые типы файлов(.pdf, .ppt, .doc) если к ним обращаться напрямую.
Появилась такая большая проблема: Сервер не находит некоторые типы файлов(.pdf, .ppt, .doc) если к...

14
48 / 48 / 11
Регистрация: 13.08.2012
Сообщений: 97
13.05.2014, 15:11 2
C#
1
2
doc.ExportAsFixedFormat(path, WdExportFormat.wdExportFormatPDF,
                false, WdExportOptimizeFor.wdExportOptimizeForPrint, WdExportRange.wdExportAllDocument);
0
192 / 199 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
13.05.2014, 15:21  [ТС] 3
Gul-79, с этой штукой тоже побывал вываливается

Кликните здесь для просмотра всего текста
System.AccessViolationException не обработано
Message=Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена.
Source=WordInPdf
StackTrace:
в Microsoft.Office.Interop.Word._Document.ExportAsFixedFormat(String OutputFileName, WdExportFormat ExportFormat, Boolean OpenAfterExport, WdExportOptimizeFor OptimizeFor, WdExportRange Range, Int32 From, Int32 To, WdExportItem Item, Boolean IncludeDocProps, Boolean KeepIRM, WdExportCreateBookmarks CreateBookmarks, Boolean DocStructureTags, Boolean BitmapMissingFonts, Boolean UseISO19005_1, Object& FixedFormatExtClassPtr)
в WordInPdf.Form1.btnConvert_Click(Object sender, EventArgs e) в c:\documents and settings\ees\мои документы\visual studio 2010\Projects\WordInPdf\WordInPdf\Form1.cs:строка 66
в System.Windows.Forms.Control.OnClick(EventArgs e)
в System.Windows.Forms.Button.OnClick(EventArgs e)
в System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ButtonBase.WndProc(Message& m)
в System.Windows.Forms.Button.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNat iveMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.Run(Form mainForm)
в WordInPdf.Program.Main() в c:\documents and settings\ees\мои документы\visual studio 2010\Projects\WordInPdf\WordInPdf\Program.cs:строка 18
в System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
в System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
в System.Threading.ThreadHelper.ThreadStart_Context(Object state)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading.ThreadHelper.ThreadStart()
0
48 / 48 / 11
Регистрация: 13.08.2012
Сообщений: 97
13.05.2014, 15:25 4
Выложи свой проект или сделай новый с проблемой
0
192 / 199 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
13.05.2014, 15:51  [ТС] 5
прикрепил
Вложения
Тип файла: zip WordInPdf.zip (45.1 Кб, 17 просмотров)
0
48 / 48 / 11
Регистрация: 13.08.2012
Сообщений: 97
13.05.2014, 16:10 6
Переделал твой код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void btnConvert_Click(object sender, EventArgs e)
       {
           string wordPath = FileNameTextBox.Text;
 
           var application = new Application { Visible = false };
           var doc = application.Documents.Open(wordPath);
 
           var pdfPath = Path.ChangeExtension(wordPath, "pdf");
 
           doc.ExportAsFixedFormat(pdfPath, WdExportFormat.wdExportFormatPDF,
                false, WdExportOptimizeFor.wdExportOptimizeForPrint, WdExportRange.wdExportAllDocument);
 
           doc.Application.Quit();
       }
0
192 / 199 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
13.05.2014, 16:23  [ТС] 7
Не помогло та же самая ошибка в office 2003 не пашет походу можешь прикрепить dll от офиса которые в папке reliase (debag)

Добавлено через 3 минуты
И еще
C#
1
var application = new Application { Visible = false };
application из какого пространства using System.Windows.Forms или using Microsoft.Office.Interop.Word?
0
48 / 48 / 11
Регистрация: 13.08.2012
Сообщений: 97
13.05.2014, 16:25 8
WordInPdf.rar

using Microsoft.Office.Interop.Word
0
192 / 199 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
13.05.2014, 16:36  [ТС] 9
Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена.

Падлюка


У тебя нормально работает? ос и офис какой стоит?
0
48 / 48 / 11
Регистрация: 13.08.2012
Сообщений: 97
13.05.2014, 16:41 10
Работает нормально.
Винда 8.1.
Офис 2013
Да и на офисе 2007 должно все работать
0
192 / 199 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
13.05.2014, 16:59  [ТС] 11
у меня 2003 и ExportAsFixedFormat там не пашет

Добавлено через 13 минут
Предупреждение 1

C#
1
doc.Application.Quit();
Неоднозначность между методом "Microsoft.Office.Interop.Word._Application.Quit(ref object, ref object, ref object)" и "Microsoft.Office.Interop.Word.ApplicationEvents4_Event.Quit", который методом не является. Используйте группу методов.

Не вкурю как поправить
0
48 / 48 / 11
Регистрация: 13.08.2012
Сообщений: 97
13.05.2014, 17:13 12
Это глюки библиотек ворда, в 2007 точно такой есть, можно не обращать внимание, работать код будет.
1
192 / 199 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
13.05.2014, 17:21  [ТС] 13
Нашел как победить

C#
1
2
((_Application)doc).Quit();
Marshal.FinalReleaseComObject(doc);
0
48 / 48 / 11
Регистрация: 13.08.2012
Сообщений: 97
13.05.2014, 17:32 14
Не помогает, предупреждение так и весит
0
192 / 199 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
13.05.2014, 20:27  [ТС] 15
вместо doc.Application.Quit(); напиши ((_Application)doc).Quit(); у меня убрало предупреждение

вопрос в другом как и какие экзепшены ловить если не установлен офис или если установлен 2003 офис как отловить System.AccessViolationException катчем оно не ловится почему то

Добавлено через 2 часа 13 минут
все поймал все что хотел

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  private void btnConvert_Click(object sender, EventArgs e)
       {
           var wordPath=FileNameTextBox.Text;
           Microsoft.Office.Interop.Word.Application application=null;
           Microsoft.Office.Interop.Word.Document doc = null;
           try
           {
               application = new Application { Visible = false };
               doc = application.Documents.Open(wordPath);
               var pdfPath = Path.ChangeExtension(wordPath, "pdf");
               doc.ExportAsFixedFormat(pdfPath, WdExportFormat.wdExportFormatPDF, false, WdExportOptimizeFor.wdExportOptimizeForPrint, WdExportRange.wdExportAllDocument);
           }
 
           catch (Exception ex) { MessageBox.Show(ex.Message); }
 
           finally
           {
               if (doc != null) { ((_Application)doc).Quit(false, null, null); doc = null; Marshal.FinalReleaseComObject(doc); }
               if (application != null) { ((_Application)application).Quit(); application = null;  Marshal.FinalReleaseComObject(application); }
           }
       }
0
13.05.2014, 20:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2014, 20:27
Помогаю со студенческими работами здесь

Бесплатные либы для создания, редактирования PDF, DOCX, XLSX, XLS, DOC и конвертации их между собой
Существует ли бесплатная библиотека, которая позволяет делать все и сразу - создавать,...

Экспорт в pdf, doc
Возможно ли в Silverlight генерировать документы pdf, doc, тоесть знает ли ктонибудь готовые...

Как просматривать pdf и doc файлы?
Здравствуйте. Как в wpf c# сделать просмотр pdf, doc, docx файлов. Как это реализовать? Я нашел...

Конвертация Doc в PDF без использования Com.Interop
нужно конвертировать обычный вордовский файл в PDF. вопрос заключается в следующем,знает ли кто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru