2010-09-28 6 views
5

Bene, davvero il titolo della domanda dice tutto. Ci sono già domande simili su SO. Ma ecco alcune differenze ... Non posso assolutamente utilizzare Office sul server. Devo essere in grado di convertire il documento a livello di programmazione. Non mi interessa davvero quanto costa. Ovviamente meno costoso è meglio, ma se hai un buon suggerimento che sembra essere costoso, non esitare a includerlo.Qual è il miglior programma/API per convertire documenti Word in PDF che NON richiede l'installazione di Office?

------ ------ Modifica

ho accettato la risposta OpenOffice.org perché sembrava il più intrigante. Tuttavia, sono davvero curioso di ciò che pensano gli altri. Continua a postare le risposte e a votare e accetterò qual'è il maggior numero di voti.

+1

Probabilmente dovresti chiedere a superutente, StackOverflow è più utile per i programmatori. –

+0

@Tom, "Devo essere in grado di convertire il documento a livello di codice" ... –

+0

Ho preso in considerazione SuperUser ... ma come matt ha detto, devo essere in grado di farlo a livello di programmazione. – Chaulky

risposta

11

OpenOffice può essere eseguito in modalità server senza GUI. Usandolo in questo modo, è possibile connettersi ad esso, eseguire il flusso di un documento e quindi convertirlo in qualsiasi tipo supportato e riprodurlo in streaming.

+0

Non ci avevo mai pensato. Troverò sicuramente questo. Hai detto che è "Modalità server". È detto che è specificamente progettato per l'utilizzo da parte del server e non presenta gli stessi problemi di Office su un server? – Chaulky

+1

È specificamente progettato per avere tale modalità, a differenza di MS Office. Il server è a thread singolo, quindi non è l'ideale (devi accodare le richieste). Si tratta essenzialmente di script dell'applicazione, ma con un'interfaccia grafica completamente soppressa. Nel mio utilizzo, ho messo un servizio web di fronte ad esso che lo monitorava, le richieste in coda e i documenti memorizzati nella cache (nel caso in cui lo stesso venisse nuovamente eseguito). –

0

Si potrebbe provare a provare Aspose, che viene utilizzato anche da Google.

+0

So che ho detto che il prezzo non ha importanza ... ma questo è un po 'caro :) – Chaulky

1

Questo può aiutare a ottenere la risposta ...

formato DOCX è una raccolta di file zip. Scompatta una (rinomina in .zip) e guarda dentro.

+0

Ma questo non fa nulla per me se è .doc. Persino se è .docx ... richiederebbe un bel po 'di lavoro per passare dalla rappresentazione XML di un documento Word a un documento PDF – Chaulky

1

Se si carica un documento (.doc, .docx, .odf) in documenti google, è possibile scaricarlo come PDF. Questa è una soluzione facile e gratuita ma potrebbe essere difficile da integrare.

+0

creativo, e probabilmente giocherò con questo solo per curiosità, ma ho sentito da altri che non fa un ottimo lavoro nel preservare tutto il formato (solo per sentito dire) – Chaulky

0

IMO, PDFCreator (open source) è la soluzione migliore per il tuo allievo. Installa PDFCreator, quindi dai un'occhiata alla sottocartella COM, dove puoi trovare esempi su come utilizzare la sua API.

+0

Ciò richiede Office sul server? Non riesco a trovare informazioni in entrambi i casi. – Chaulky

+0

No, PDFCreator non richiede Office in alcuna forma, può anche convertire * qualsiasi * documento (creato da qualsiasi programma) che è possibile stampare. – Vantomex

+0

Grazie, grazie, lo controllerò sicuramente. – Chaulky

0

Se si desidera utilizzare OpenOffice, è possibile utilizzare dalla riga di comando unoconv con l'ultimo LibreOffice. Questo funziona in generale, ma essere pronti a:

  • hanno ancora un po 'di fantasia formattazione perso,
  • conversione ripetere a causa di qualche eccezione sul lato LibreOffice.

Scorri direttamente l'API UNO. Questo è possibile (e potresti avere un pool di server OpenOffice in esecuzione che eseguiranno la conversione) ma sicuramente non è facile.

Google Docs non è utilizzabile poiché il limite di dimensione del file di conversione è 2 MB.

6

Si potrebbe desiderare di dare un'occhiata all'API CloudConvert. Stanno usando l'ufficio nativo e sono un modo più economico di Aspose.

0

Utilizzando Convert API è semplice come questa richiesta HTTP:

POST https://v2.convertapi.com/doc/to/pdf?Secret=XXX&File=http://example.com/myfile.doc 

se il file è accessibile da internet. Se il file non è accessibile da internet, Convert API supporta molti modi su come passare un file per la conversione.

0

Suggerirei di utilizzare il motore di conversione fornito con LibreOffice - diversamente da OpenOffice è possibile passare attraverso conversioni multi-thread. Supporta entrambi i principali sapori dei documenti di Word (ad esempio .doc e .docx) con una buona fedeltà ed è in fase di sviluppo attivo.

Elaborare il giusto incantesimo da usare dalla riga di comando può essere complicato, quindi per semplificarti la vita puoi usare unoconv che funge da wrapper e fa (alcuni) il sollevamento pesante per te. Ha bisogno di tenere una mano di volta in volta, quindi non è completamente incustodito.

In alternativa, se si desidera una vita ancora più semplice, è possibile utilizzare un'API di livello commerciale come https://developers.zamzar.com. Questo servizio è attivo da oltre 10 anni, fornisce un'API per la conversione di file da qualsiasi lingua (PHP, Python, Ruby, Java, .NET ecc.) E dispone di campane e fischietti che consentono di importare ed esportare file da e verso Amazon S3 , Server FTP ecc.

Divulgazione completa: sono lo sviluppatore principale dell'API di Zamzar.

Problemi correlati