문제

모든 DOCX 파일을 프로그래밍 방식으로 병합해야합니다. 그들이 1 ~ 10으로 번호가 매겨져 있다고 상상해보십시오. 나는 본질적으로 10 개의 문서를 모두 포함하는 Final.docx 파일이 필요합니다. 내가 어쨌든 두 번째를 첫 번째로 추가 할 수 있다면 세 번째, 네 번째 등을 반복 할 수 있습니다.

목차 나 그와 비슷한 것을 재건 할 필요는 없습니다. 각 DOCX에는 정적 내용이 있습니다. 그러나이 문서에 바닥 글이 있으며 보존해야합니다.

바람직하게는 C# 또는 MSBuild의 답변입니다.

감사합니다.

도움이 되었습니까?

해결책

C#에서 RTF 파일을 하나의 문서로 병합하기 위해 응용 프로그램을 만들었습니다. IAM은 DOC 및 DOCX 파일에도 작동하기를 희망합니다.

        Word._Application wordApp;
        Word._Document wordDoc;
        object outputFile = outputFileName;
        object missing = System.Type.Missing;
        object vk_false = false;
        object defaultTemplate = defaultWordDocumentTemplate;
        object pageBreak = Word.WdBreakType.wdPageBreak;
        string[] filesToMerge = new string[pageCounter];
        filestoDelete = new string[pageCounter];

        for (int i = 0; i < pageCounter; i++)
        {
            filesToMerge[i] = @"C:\temp\temp" + i.ToString() + ".rtf";
            filestoDelete[i] = @"C:\temp\temp" + i.ToString() + ".rtf";                
        }
        try
        {
            wordDoc = wordApp.Documents.Add(ref missing, ref missing, ref missing, ref missing);
        }
        catch(Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        Word.Selection selection= wordApp.Selection;

        foreach (string file in filesToMerge)
        {
            selection.InsertFile(file,
                ref missing,
                ref missing,
                ref missing,
                ref missing);

            selection.InsertBreak(ref pageBreak);                                     
        }
        wordDoc.SaveAs(ref outputFile, ref missing, ref missing, ref missing, ref missing, ref missing,
               ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
               ref missing, ref missing);  

도움이 되었기를 바랍니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top