2012-08-20 16 views
8

Sto usando openxml per creare file Word DOCX. Mi piacerebbe salvare questi documenti una volta creati come file PDF. C'è un modo per farlo in openxml? Presumo che la risposta sia no. Se è no, c'è una libreria o uno strumento che posso usare per salvare/stampare i file DOCX come PDF (programmaticamente, in .NET)? Ho guardato sharpPDF (PDFSharp), e sembra che questa libreria sia solo per generare PDF da zero, non salvando DOCX come PDF.Salvataggio di file DOCX di Word come PDF

Posso stampare in qualche modo su una stampante PDF installata, Cute PDF o la stampante PDF integrata in Windows 7 in modo completamente automatico?

Aggiornamento: ricerca gratuita con licenza non virale e preferibilmente non richiede installazioni aggiuntive.

risposta

9

Si potrebbe fare questo con l'automazione di Word. Hai bisogno di avere una parola installata.

var TheDocument = TheWordApp.Documents.Open(docName); 

TheDocument.ExportAsFixedFormat(
      docName.Replace(".docx", ".pdf"), 
      Word.WdExportFormat.wdExportFormatPDF, 
      OptimizeFor: Word.WdExportOptimizeFor.wdExportOptimizeForOnScreen, 
      BitmapMissingFonts: true, DocStructureTags: false); 

((Word._Document)TheDocument).Close(); 
+1

Microsoft Interop? Sì, funziona davvero. Speravo di farlo senza dover installare Word. Questo potrebbe essere il mio percorso in avanti se non c'è un modo libero per farlo senza altre dipendenze. –

+0

@cellik: funziona con l'applicazione configurata in IIS? – Saravanan

2

Per ottenere da DocX -> PDF è necessario qualcosa che può eseguire il rendering di un file DocX e fornisce una funzionalità di esportazione/salvataggio PDF. Inutile dire che non ci sono molti strumenti che possono rendere DocX (Word, OpenOffice/LibreOffice e alcuni altri prodotti con licenza menzionati di seguito). A seconda dei limiti/requisiti del runtime, è possibile provare:

  1. utilizzare MS Automation per ottenere Word per caricare docx e salvare come PDF.
  2. strumenti che si trovano su OpenOffice (JODConverter/Docmosis) per eseguire la conversione.
  3. try incorporando altre raccolte di documenti (Aspose, Windward)

non sono sicuro circa il requisito di stampa automatica dispiace.

+0

È possibile utilizzare l'output PDF di docx4j in un ambiente .NET tramite IKVM, ma suggerirei di provarlo prima in un ambiente Java per verificare se è adatto alle proprie esigenze – JasonPlutext

+0

Per il numero 1, si fa riferimento allo SM OFFice Interop library? –

+0

@StealthRabbi - sì, mi dispiace per la scarsa terminologia. –

0

Ho usato this VBScript e funziona bene. Funziona in background (apre docx e salva come PDF usando l'opzione "Salva/esporta come PDF"). Controlla i requisiti di sistema elencati nella pagina.

0

Produciamo WordGlue .NET che è un generico motore di layout WP in grado di gestire doc/docx.

È completamente gestito e può essere utilizzato per esportare in una varietà di formati come immagine, XPS o (con l'aiuto di una libreria PDF come ABCpdf) PDF.

Io lavoro sul componente software ABCpdf .NET, quindi le mie risposte potrebbero includere concetti basati su ABCpdf. È solo quello che so. :-)

Problemi correlati