• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Konwersja mail'i outlook na pdf

Object Storage Arubacloud
0 głosów
543 wizyt
pytanie zadane 3 sierpnia 2017 w C# przez krystian.k.nowak Użytkownik (500 p.)

Piszę program w którym edytuje pliki pdf, program ma przyjmować rozszerzenia pdf, docx, oraz msg, w przypadku pdf od razu wykonywać operacje, w przypadku docx czy msg najpierw konwertować je na pdf, napisanie konwersji z docx na pdf poszło gładko i wygląda u mnie tak:

        Microsoft.Office.Interop.Word.Document wordDoc { get; set; }

 void doc_to_pdf()
        {
            Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
            wordDoc = app.Documents.Open(openFD.FileName);
            wordDoc.ExportAsFixedFormat(to_pdf(openFD.FileName), Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF);

            wordDoc.Close(Microsoft.Office.Interop.Word.WdSaveOptions.wdSaveChanges);
            app.Quit();

            Marshal.ReleaseComObject(wordDoc);
            Marshal.ReleaseComObject(app);
            openFD.FileName = to_pdf(openFD.FileName);
        }

openFD.filename to ścieżka pliku, a funkcja to_pdf() zapisuje przekonwertowany plik docx w tym samym miejscu gdzie byl i zamiast docx na koncu wpisuje pdf.

Analogicznie jak w przypadku docx chciałem zrobić konwersje plików msg, jednak nie działa to już tak przyjemnie

Chciałem to zrobić mniej więcej tak:

        Microsoft.Office.Interop.Outlook.MailItem outMsg { get; set; }
        void msg_to_pdf()
        {
            Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
            outMsg = app.Documents.Open(openFD.FileName);
            outMsg.ExportAsFixedFormat(to_pdf(openFD.FileName), Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF);
            outMsg.Close(Microsoft.Office.Interop.Outlook.WdSaveOptions.wdSaveChanges);
            openFD.FileName = to_pdf(openFD.FileName);
        }

Próbowałem oczywiście odwoływać się do przeróżnych argumentów, różnych funkcji, tworzyć klasy innych obiektów niż MailItem, wszystko wg. tego co podpowiada mi visual studio, jednak nic, próbowałem też używać metod z dokumentacji bibliotek Office'a ze strony microsoftu, ale po raz kolejny nic, jestem juz strasznie zdesperowany, jest ktoś kto może mi powiedzieć jak to zrobić?

1 odpowiedź

–1 głos
odpowiedź 3 sierpnia 2017 przez piotrsz109 Stary wyjadacz (13,730 p.)
komentarz 3 sierpnia 2017 przez krystian.k.nowak Użytkownik (500 p.)
edycja 4 sierpnia 2017 przez krystian.k.nowak
Czyli tworzyłem obiekt złej klasy. Tylko w takim razie obiekt jakiej innej klasy tworzyć? Tak żeby miał metody open() i export(), czy coś w ten deseń, przeglądałem dokumentacje biblioteki, próbowałem wielu klas, wielu argumentów, wielu metod dla tych argumentów ale ciężko, jakieś rady?

 

Edit. Do niczego mnie to nie doprowadziło, zrobiłem tak że pobieram wszystkie elementy z maila a potem na ich podstawie tworze pdf, otrzymałem chciany efekt.

Podobne pytania

0 głosów
1 odpowiedź 1,190 wizyt
pytanie zadane 19 lipca 2017 w C# przez Krystian Nowak Początkujący (330 p.)
0 głosów
2 odpowiedzi 137 wizyt
pytanie zadane 20 lipca 2017 w C# przez krystian.k.nowak Użytkownik (500 p.)
0 głosów
1 odpowiedź 500 wizyt

92,579 zapytań

141,429 odpowiedzi

319,657 komentarzy

61,962 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...