Hoje, aprenderemos a mesclar programaticamente PDF, documentos do Word, planilhas e apresentações usando C#. Em um post anterior, vimos a fusão e divisão de documentos usando Java.

mesclar vários arquivos pdf, word, excel, ppt usando csharp dotnet

Este artigo também mostrará os exemplos de código sobre:

Estarei usando o GroupDocs.Merger for .NET em todos os exemplos abaixo. Antes de continuar, você pode obter a API de uma das seguintes opções:

  • Instale o pacote da Galeria de Pacotes NuGet.
  • Download o MSI ou DLLs da seção de downloads do GroupDocs.

Mesclar arquivos PDF em C#

Seguir simples 3 linhas de código combina 2 arquivos PDF em 1 documento PDF.

  • Comece com o primeiro documento usando a classe Merger.
  • Chame o método Join da classe Merger e passe o segundo documento para mesclar.
  • Chame o método Save para salvar o documento combinado.
// Merge 2 PDF files in C#
using (Merger merger = new Merger(@"document1.pdf"))
{
    merger.Join(@"document2.pdf");
    merger.Save(@"merged.pdf");
}

O método Join possui vários métodos sobrecarregados que permitem mesclar documentos ou páginas seletivas de diferentes documentos via caminho de arquivo, usando um fluxo ou uma URL remota.

Mesclar vários documentos do Word em C#

O código semelhante acima permite combinar dois ou mais arquivos dos formatos MS Word e OpenDocument sem perder o formato. Só para ter uma idéia, você pode mesclar .doc, .docx, .docm, .dot, .dotx, .dotm, .rtf, .odt, .ott etc. Abaixo está o código de 3 linhas que mescla dois arquivos MS Word DOCX .

// Merge Word files in C#
using (Merger merger = new Merger(@"c:\\document1.docx"))
{
    merger.Join(@"c:\\document2.docx");
    merger.Save(@"c:\\merged.docx");
}

Mesclar páginas de vários arquivos - C

Não apenas o documento inteiro, mas também podemos mesclar páginas seletivas de vários documentos para obter um único documento combinado.

// Merge selective pages
string filePath = @"c:\\sample.docx";
string filePath2 = @"c:\\sample2.docx";
string filePathOut = @"c:\\output\\result.docx";

JoinOptions joinOptions = new JoinOptions(1, 4, RangeMode.OddPages);

using (Merger merger = new Merger(filePath, loadOptions))
{
    merger.Join(filePath2, joinOptions);
    merger.Save(filePathOut);
}

Mesclar planilhas, apresentações e outros documentos em C#

Junto com os documentos como PDF e Word, podemos mesclar as apresentações, planilhas e muitos outros formatos de forma diferente. Basta alterar o nome do arquivo e digitar de acordo com o código acima, você obterá seu documento mesclado.

using (Merger merger = new Merger(@"filepath1.xxx"))
{
    merger.Join(@"filepath2.xxx");
    merger.Save(@"xyz.xxx");
}

Verifique o suporte ao formato de arquivo primeiro

Seu requisito pode ser um tipo de arquivo um pouco diferente, portanto, é melhor saber primeiro se o documento necessário é suportado para mesclagem pela API ou não. O código a seguir obtém todos os tipos de arquivo compatíveis com a API Merger.

foreach (FileType fileType in FileType
        .GetSupportedFileTypes()
        .OrderBy(fileType => fileType.Extension))
{
    Console.WriteLine(fileType);
}

Aqui está a saída do código acima que exibe os formatos de arquivo.

Bitmap Image File (.bmp)
Comma Separated Values File (.csv)
Excel Binary Spreadsheet (.xlsb)
Excel Macro-Enabled Add-In (.xlam)
Excel Open XML Macro-Enabled Spreadsheet (.xlsm)
Excel Open XML Macro-Enabled Spreadsheet Template (.xltm)
Excel Open XML Spreadsheet (.xlsx)
Excel Open XML Spreadsheet Template (.xltx)
Excel Spreadsheet (.xls)
Excel Template File (.xlt)
Hypertext Markup Language File (.html)
JPEG Image (.jpeg)
LaTeX Source Document (.tex)
MHTML Web Archive (.mht)
MIME HTML File (.mhtml)
OneNote Document (.one)
Open eBook File (.epub)
OpenDocument Document Template (.ott)
OpenDocument Presentation (.odp)
OpenDocument Presentation Template (.otp)
OpenDocument Spreadsheet (.ods)
OpenDocument Text Document (.odt)
Plain Text File (.txt)
Portable Document Format File (.pdf)
Portable Network Graphic (.png)
PostScript File (.ps)
PowerPoint Open XML Presentation (.pptx)
PowerPoint Open XML Slide Show (.ppsx)
PowerPoint Presentation (.ppt)
PowerPoint Slide Show (.pps)
Rich Text Format File (.rtf)
Tab Separated Values File (.tsv)
Visio Drawing (.vsdx)
Visio Drawing Template (.vstx)
Visio Drawing XML File (.vdx)
Visio Macro-Enabled Drawing (.vsdm)
Visio Macro-Enabled Drawing Template (.vstm)
Visio Macro-Enabled Stencil File (.vssm)
Visio Stencil File (.vssx)
Visio Stencil XML File (.vsx)
Visio Template XML File (.vtx)
Word Document (.doc)
Word Document Template (.dot)
Word Open XML Document (.docx)
Word Open XML Document Template (.dotx)
Word Open XML Macro-Enabled Document (.docm)
Word Open XML Macro-Enabled Document Template (.dotm)
XML Paper Specification File (.xps)

Saiba mais sobre a API de fusão .NET

Caso você queira saber mais sobre a API .NET Merger do GroupDocs, visite a documentação ou entre em contato conosco no fórum sobre qualquer consulta.

Obrigado.