Pergunta

Pediram

perguntas similares, mas nada exatamente como o meu, então aqui vai.

Nós temos uma coleção de documentos do Microsoft Word em um servidor web ASP.NET com campos de mesclagem cujos valores são preenchidos como resultado de envios de formulários usuário. Após a fusão campo, o servidor deve converter o documento para PDF e transmiti-lo para baixo para o navegador. A nossa primeira inclinação era usar o Visual Studio Tools for Microsoft Office API; no entanto, que funcionou em este aviso da Microsoft :

Microsoft atualmente não recomendo, e não suporta, aplicativos de automação do Microsoft Office a partir de qualquer, aplicativo cliente não-interativo autônoma ou componente (incluindo ASP, ASP.NET, DCOM e serviços NT), porque Office pode apresentar instável comportamento e / ou impasse quando o Office é executado nesse ambiente.

Parece que a manipulação de campo pode ser feito usando a Open XML SDK , mas qual é a melhor maneira de converter documentos do Word 2007 para PDF sem abrir o Word? A solução ideal seria de baixo custo, escaláveis, têm uma pegada de baixa memória, ser fácil de implementar, e tem uma API .NET.

Foi útil?

Solução

Não é exatamente Open Source, mas Aspose tem um par de produtos que podem fazer isso,

Aspose.Pdf.Kit

Aspose.Pdf.Kit é um componente manipulação de documentos PDF® não gráfico que permite tanto NET e desenvolvedores Java para gerenciar arquivos PDF existentes, bem como gerenciar os campos do formulário embutidas em arquivos PDF. Aspose.Pdf é perfeito para a criação de novos arquivos PDF; No entanto, os desenvolvedores muitas vezes precisam de edição já existente documentos PDF. Aspose.Pdf.Kit lhes permite fazer exatamente isso. Aspose.Pdf.Kit permite aos desenvolvedores criar aplicações poderosas para mesclar dados diretamente em documentos PDF, bem como para a actualização e gestão de documentos PDF. Aspose.Pdf.Kit é um produto maravilhoso e funciona muito bem com o resto dos nossos produtos PDF.

Aspose.Pdf

Aspose.Pdf é um componente de relatório documento PDF® não gráfico que permite tanto .NET ou Java aplicações para criar documentos PDF a partir do zero, sem utilizando Adobe Acrobat®. Aspose.Pdf é muito preço acessível e oferece uma riqueza de características fortes, incluindo: fontes de compressão, tabelas, gráficos, imagens, links, segurança e personalizados. Aspose.Pdf apoia a criação de arquivos PDF através de API, modelos XML e arquivos de XSL-FO. Aspose.Pdf é muito fácil de usar e é fornecido com 14 demos totalmente caracterizados escritos em C # e Visual Basic.

Confira o API e demos . Você pode baixar uma DLL para livre para experimentá-lo. Eu usei tanto antes como eles trabalham fora grande.

Há também iTextSharp que é uma porta C # de iText, um conversor de PDF Java. Já ouvi algumas pessoas experimentá-lo com resultados mistos.

Outras dicas

A questão é "MS documentos do Word para PDF em ASP.NET" por isso estou muito perplexo porque Aspose.Pdf e Aspose.Pdf.Kit são recomendados acima. Você precisa usar Aspose.Words , porque esse é o componente que documentos suporta o Microsoft Word para conversão de PDF.

Confira recurso da Microsoft sobre Saving documentos do Word 2007 para PDF e XPS Formatos usando C # ou VB.

activePDF DocConverter - http://www.activepdf.com/

Mas isso requer o Office instalado no servidor para a conversão de boa qualidade.

Você deve tentar usar o OpenOffice para isso. É grátis e suporta uma ampla gama de conversões de arquivos. Eu usei-o para converter arquivos DOC e DOCX para o formato HTML com resultados fantásticos.

ABCpdf é outro componente popular que vou deixar você converter documentos do Word para PDF em ASP.NET, porém eu acredito que isso também faz uso de Microsoft Office ou OpenOffice.

http://www.websupergoo.com/abcpdf-office-docs.htm

Aspose.Words pode ser a melhor opção para você, mas não converte todos os elementos visuais perfeitamente.

Tenha um olhar para o Muhimbi PDF Converter Web Services . Ele roda em Windows como um serviço, mas pode ser acessado a partir de qualquer ambiente capaz de serviços web não-Windows, incluindo Java e .NET.

Embora esta solução requer MS-Office para ser instalado em um servidor (não necessariamente o mesmo servidor que sua aplicação), é muito robusto e fornece fidelidade conversão perfeita. Ele vai para grandes comprimentos para contornar os problemas de impasse Microsoft se referem a em seu artigo KB.

Para gerar ou modificar MS-Word arquivos eu recomendo usar a livre Open XML SDK para Microsoft Office . Eric White mantém um realmente bom Blog sobre isso.

Disclaimer, eu trabalhei sobre este produto. Dito isto, ele funciona muito bem.

Microsoft PDF add-in para a palavra parece ser a melhor solução para agora, mas você deve levar em consideração que ele não converter todos os documentos do Word corretamente para pdf e, em alguns casos, você vai ver grande diferença entre a palavra ea saída pdf. Infelizmente eu não consegui encontrar qualquer API que iria converter todos os documentos do Word corretamente. A única solução que encontrado para assegurar a conversão foi de 100% correcta foi convertendo os documentos por meio de um controlador de impressora. A desvantagem é que os documentos são colocados em fila e convertido, um por um, mas você pode ter certeza que o pdf resultou é exatamente como a palavra docuemtn. Eu pessoalmente preferido usando UDC (conversor de documentos Universal) e instalado Foxit Reader (versão gratuita) no servidor também, em seguida, imprimiu os documentos, iniciando um "processo" e definindo sua propriedade verbo "print". Você também pode usar FileSystemWatcher para definir um sinal quando a conversão foi concluída.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top