2010-07-23 5 views
2

올바른 기술을 찾을 수없는 매우 간단한 방법입니다. 내가 원했던 것은 .dotx 템플릿을 열고 약간의 변경을 가한 다음 .docx 확장자와 동일한 이름으로 저장하는 것입니다. WordprocessingDocument를 저장할 수는 있지만로드 된 곳에서만 가능합니다. 수동으로 변경 한 WordprocessingDocument 사용하여 새 문서를 만들려고했지만 아무것도 작동하지 지금까지 시도한 MainDocumentPart.Document.WriteTo(XmlWriter.Create(targetPath)); 및 그냥 빈 파일이 있어요.Open XML SDK : Word 템플릿을 열고 다른 파일 이름으로 저장

여기에 올바른 방법이 있습니까? SDK가 관련된 한 .dotx 파일이 특별하거나 다른 문서일까요? 간단히 대상에 템플릿을 복사 한 다음 을 열고을 열고 변경하고 저장 하시겠습니까? 같은 응용 프로그램을 두 번 열 수 있다면 두 번에 한 번에 두 개의 클라이언트에서 응용 프로그램을 호출하면 몇 가지 염려가 있습니다 ...이 경우 복사본을 만드는 것이 어차피 합리적인 방법이 될 수 있지만 내 호기심 때문에 "다른 이름으로 저장"하는 법을 아는 것.

답변

5

단지 File.IO를 사용하여 dotx 파일을 docx 파일에 복사 한 다음 상황에 맞게 변경하면 변경하는 것이 좋습니다. 또한 새로운 docx 파일의 오류를 방지하기 위해 호출해야하는 ChangeDocumentType 함수가 있습니다.

  File.Copy(@"\path\to\template.dotx", @"\path\to\template.docx"); 

      using(WordprocessingDocument newdoc = WordprocessingDocument.Open(@"\path\to\template.docx", true)) 
      { 
       newdoc.ChangeDocumentType(WordprocessingDocumentType.Document); 
       //manipulate document.... 
      } 
관련 문제