Jak převést Word do formátu PDF v ASP Net

Dokumenty sady Office jsou optimalizovány pro úpravy. Dokumenty PDF, na druhé straně, které jsou stále zobrazovány a tisknuty důsledně, jsou určeny k distribuci. Podniky často čelí potřebě snadno převádět z jednoho na druhého. Přestože konverze souborů dokumentů Office není nativní v rámci .Net, stále můžete automatizaci konverzí aplikace Word na PDF pomocí funkce .Net. Společnost Microsoft poskytuje doplněk Office, který zpracuje proces pomocí místní instalace systému MS Office prostřednictvím volání do sady Office API.

1.

Vytvořte projekt Visual Studio a přidejte do projektu projekt c.

2.

Vytvořte odkaz na objekt aplikace Microsoft Word v projektu. Klepněte pravým tlačítkem myši na projekt v aplikaci Visual Studio Solution Explorer. Z kontextové nabídky vyberte možnost "Přidat odkaz". Vyberte kartu "COM" z dialogového okna, které se otevře. Projděte seznam odkazů, dokud nenajdete knihovnu objektů Microsoft Word 12.0. Poklepáním přidejte odkaz.

3.

Import oboru názvů Office Interop. V ostrém souboru c, který bude obsahovat kód konverze, přidejte v horní části následující:

pomocí Microsoft.Office.Interop.Word;

4.

Vytvořte metodu konverze souborů, která obsahuje konverzní kód. Vaše metoda by měla vypadat takto:

public void ConvertDocument () {// konverzní kód jde zde}

5.

Vytvořte objekt ApplicationClass. Začněte metodu konverzního kódu vytvořením instance aplikace ApplicationClass následujícím způsobem:

ApplicationClass appClass = nová ApplicationClass ();

Tento objekt vám umožní volat metody v aplikaci Word.

6.

V rámci metody převodu vytvořte převedené objekty souborů a nastavte parametry cesty a preference pro export. Váš kód může vypadat takto:

řetězec exportFilePath = @ "C: \ MyDocs \ convertedDoc.pdf"; WdExportFormat exportFormat = WdExportFormat.wdExportFormatPDF; bool openAfterExport = false; WdExportOptimizeFor exportOptimizeFor = WdExportOptimizeFor.wdExportOptimizeForPrint; WdExportRange exportRange = WdExportRange.wdExportAllDocument; int startPage = 0; int endPage = 0; WdExportItem paramExportItem = WdExportItem.wdExportDocumentContent; bool includeDocProps = true; bool keepIRM = true; WdExportCreateBookmarks createBookmarks = WdExportCreateBookmarks.wdExportCreateWordBookmarks; bool docStructureTags = true; bool bitmapMissingFonts = true; bool useISO19005_1 = false;

7.

Zavolejte kód konverze. Protože se může stát, že se proces konverze může hodit, měli byste zabalit konverzní hovory v bloku try-catch-finally tak, že chyby způsobené poškozenými soubory nebo přerušenými procesy nebudou přerušovat program a tak, aby se vaše dokumenty a případy Word vždy uzavřely.

try {// Otevřete dokument, který chcete převést. První parametr by měl ukazovat na místo uložení dokumentu. Dokument docToConvert = appClass.Documents.Open (ref @ "C: \ MyDocs \ myDoc.docx", ref Type.Missing, ref Type.Missing, ref Type.Missing, ref Type.Missing, ref Type.Missing, ref Typ. Chybějící, ref. Typ.zrušení, ref. Typ.zrušení, ref. Typ.zask., Ref. Typ.zrušení, ref. Typ.zrušení, ref. Typ.zadání, ref. Typ.zrušení, ref.rozp., Ref. // Export dokumentu jako PDF. pokud (docToConvert! = null) docToConvert.ExportAsFixedFormat (exportFilePath, exportFormat, openAfterExport, exportOptimizeFor, exportRange, paramStartPage, endPage, exportItem, includeDocProps, keepIRM, createBookmarks, docStructureTags, bitmapMissingFonts, useISO19005_1, ref missingParam); } catch (výjimka ex) {// Reagovat na chybu} konečně {// Zavřete a uvolněte objekt dokumentu. pokud (docToConvert! = null) {docToConvert.Close (ref missingParam, ref missingParam, ref missingParam); docToConvert = null; } // Ukončete aplikaci Word a uvolněte objekt ApplicationClass. pokud (appClass! = null) {appClass.Quit (ref missingParam, ref missingParam, ref missingParam); appClass = null; }}

// Microsoft recommends calling the garbage collector twice here. GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); GC.WaitForPendingFinalizers(); 

}}

 

Zanechte Svůj Komentář