복붙노트

[RUBY-ON-RAILS] 루비 마이크로 소프트 워드 (.DOCX) 문서 만들기

RUBY-ON-RAILS

루비 마이크로 소프트 워드 (.DOCX) 문서 만들기

루비 응용 프로그램에서 Word 문서 (.DOCX)을 쉽게 만들 수있는 방법이 있나요? 사실, 내 경우에 그것은 리눅스 서버에서 제공되는 레일 응용 프로그램입니다.

새우에 대신 PDF의 DOCX에 대한 유사한 보석은 좋은 것입니다!

해결법

  1. ==============================

    1.언급 한 바와 같이,이 루비의 오픈 XML 문서를 조작 할 수있는 라이브러리로 표시하지만, OpenXML을 개발자가 오픈 XML 문서의 형식에 대한 문서가 없습니다.

    언급 한 바와 같이,이 루비의 오픈 XML 문서를 조작 할 수있는 라이브러리로 표시하지만, OpenXML을 개발자가 오픈 XML 문서의 형식에 대한 문서가 없습니다.

    당신이 원하는 것은 각 사용자에 대해 사용자 정의 (양식 편지 등) 표준 문서의 사본을 보낼 경우, 그것은 DOCX 디렉토리 계층의 다양한 부분을 포함하는 ZIP 파일이 주어진 매우 간단해야한다. 당신이 (진짜 내용으로) 모든 사용자에게 보내려고하는 모든 부품 및 트리 구조, 단순히 새로운 생성을 포함하는 DOCX "템플릿"(또는 기존 수정) 사용자 별 콘텐츠가 포함 된 조각 당신이 원하는 분사를 그것은 사용자에게 전송하기 전에 ZIP (DOCX 파일)로.

    예를 들면 : 당신은 친애하는 [USER-자리 표시 자]를 포함 문서 template.xml이있을 수 :. 사용자가 문서를 요청하면, 당신은 다음 말씀에서 원하는 모든 이미지와 다른 부분을 포함 할 것이다 (당신의-template.docx ZIP 파일에 결과 document.xml를 추가, 사용자의 이름으로 [USER-자리 표시 자]를 대체 문서) 및 전송은 사용자에게 문서를 결과 것이다.

    당신이 .DOCX 파일의 이름을 변경하는 경우를 .zip으로합니다 내부 부품의 구조와 형식을 탐구하는 간단하다. 제거하거나 코드를 사용하여 매우 쉽게 ZIP 조작 도구 또는 프로그램 이미지 나 다른 부품을 교체 할 수 있습니다.

    원시 XML 완전히 사용자 지정 내용으로 새로운 Word 문서를 생성하는 작업을 쉽게하기 위해 API에 액세스 할 수없는 매우 어려울 것입니다. 당신이 정말로 그렇게해야하는 경우 다음 Open XML 형식 SDK 1.0을 사용하여 오픈 XML 문서를 만들 수 VB.NET, C # 또는 아이언 루비를 사용, 모노의 설치를 고려할 수 있습니다. 방금 오픈 XML 문서를 조작 할 Microsoft.Office.DocumentFormat.OpenXml.Packaging 네임 스페이스를 사용하는 것 때문에, SDK가 필요로 지원의 모든 것 같습니다 모노에 괜찮 작동합니다.

  2. ==============================

    2.당신은 아파치 POI를 사용할 수 있습니다. 그것은 자바로 작성된하지만 확장으로 루비와 통합되어

    당신은 아파치 POI를 사용할 수 있습니다. 그것은 자바로 작성된하지만 확장으로 루비와 통합되어

  3. ==============================

    3.아마도이 보석은 당신을 위해 재미있다.

    아마도이 보석은 당신을 위해 재미있다.

    https://github.com/trade-informatics/caracal/

    그것은 새우하지만 DOCX로를 좋아한다.

  4. ==============================

    4.이것은 오래된 질문이지만 새 응답이있다. 당신이 단어 (DOCX) 문서로 된 HTML 문서를 설정하려는 경우 단지 'htmltoword'보석을 사용합니다 :

    이것은 오래된 질문이지만 새 응답이있다. 당신이 단어 (DOCX) 문서로 된 HTML 문서를 설정하려는 경우 단지 'htmltoword'보석을 사용합니다 :

    https://github.com/karnov/htmltoword

    잘 모르겠어요 응답 크리프 모두 시작 게시 템플릿 솔루션,하지만이 답변 영업의 질문이 이유. 그냥 새우처럼, 대신 PDF의 말씀을 제외시켰다.

    최신 정보:

    이 pandoc이기도하고 pandoc에 대한 API 래퍼 docverter했다. pandoc는 하스켈 라이브러리이기 때문에 모두 약간을 설치합니다 복잡했다.

  5. ==============================

    5.난 당신이 .DOC 확장명을 가진 워드 문서로 HTML 문서를 제공하는 경우, 그것은 잘 Word에서 열립니다 알고있다. 그냥 아무것도 공상을하지 않습니다.

    난 당신이 .DOC 확장명을 가진 워드 문서로 HTML 문서를 제공하는 경우, 그것은 잘 Word에서 열립니다 알고있다. 그냥 아무것도 공상을하지 않습니다.

    편집 : 여기에 고전적인 ASP를 사용하는 예제입니다. http://www.aspdev.org/asp/asp-export-word/

  6. ==============================

    6.이것은 당신이 사용할 수있는 단지있는 것을 수행하는 API를 가지고 Doccy (doccyapp.com) 방법입니다. 지원이 잘 같은 당신처럼, PDF로 ODT 및 페이지와 변환을 DOCX

    이것은 당신이 사용할 수있는 단지있는 것을 수행하는 API를 가지고 Doccy (doccyapp.com) 방법입니다. 지원이 잘 같은 당신처럼, PDF로 ODT 및 페이지와 변환을 DOCX

  7. ==============================

    7.워드 보석에 루비 HTML을 만든 그랜트 와그너 I 제안과 매우 유사한 기술을 사용하면 해당 쉽게 출력 Word가 루비 응용 프로그램에서 파일을 DOCX 수 있도록해야합니다. 간단하게 그것을 html로 문자열을 전달하며 해당 단어 DOCX 파일을 만듭니다 - 당신은 http://github.com/nickfrandsen/htmltoword에서 그것을 확인할 수 있습니다.

    워드 보석에 루비 HTML을 만든 그랜트 와그너 I 제안과 매우 유사한 기술을 사용하면 해당 쉽게 출력 Word가 루비 응용 프로그램에서 파일을 DOCX 수 있도록해야합니다. 간단하게 그것을 html로 문자열을 전달하며 해당 단어 DOCX 파일을 만듭니다 - 당신은 http://github.com/nickfrandsen/htmltoword에서 그것을 확인할 수 있습니다.

    def show
      respond_to do |format|
        format.docx do
          file = Htmltoword::Document.create params[:docx_html_source], "file_name.docx"
          send_file file.path, :disposition => "attachment"
        end
      end
    end
    

    당신이 그것을 유용 바랍니다. 당신이 어떤 문제가있을 경우는 github의 문제를 열어 주시기으로.

  8. ==============================

    8.공개 : 나는 docxtemplater 프로젝트의 리더입니다.

    공개 : 나는 docxtemplater 프로젝트의 리더입니다.

    난 당신이 루비 솔루션을 찾고 알고 있지만, 다른 모든 솔루션은 어떻게 당신이 원하는 것을 정확히 수행하는 라이브러리를 부여하지 않고, 전 세계적으로 그것을 할 방법을 알려 때문에, 여기 JS 또는 NodeJS 기반으로하는 솔루션이다 (모두에서 작동)

    DocxTemplater 도서관

    라이브러리의 데모

    또한 명령 줄에서 사용할 수 있습니다 :

    npm install docxtemplater -g
    
    docxtemplater <configFile>
    
    ----config.docxFile: The input file in docx format
    ----config.outputFile: The outputfile of the document
    
  9. ==============================

    9.또한 그랜트의 대답에, 당신은 또한 워드에게 DOCX 압축을 풀면 단일 XML 파일을 만들 연결된 본질적으로는 "플랫 OPC"파일을 보낼 수 있습니다. 이 방법을 사용하면 하나 개의 파일에 [USER-자리 표시 자]를 대체 할 수 있으며 (즉, 더 압축하는 또는 압축 해제) 그것으로 수행되지.

    또한 그랜트의 대답에, 당신은 또한 워드에게 DOCX 압축을 풀면 단일 XML 파일을 만들 연결된 본질적으로는 "플랫 OPC"파일을 보낼 수 있습니다. 이 방법을 사용하면 하나 개의 파일에 [USER-자리 표시 자]를 대체 할 수 있으며 (즉, 더 압축하는 또는 압축 해제) 그것으로 수행되지.

  10. ==============================

    10.사람이 여전히이보고되면,이 게시물은 XML 데이터 소스를 사용하는 방법에 대해 설명합니다. 이것은 나를 위해 잘 작동합니다.

    사람이 여전히이보고되면,이 게시물은 XML 데이터 소스를 사용하는 방법에 대해 설명합니다. 이것은 나를 위해 잘 작동합니다.

    http://seroter.wordpress.com/2009/12/23/populating-word-2007-templates-through-open-xml/

  11. ==============================

    11.Windows에서 실행하는 경우, 물론, 그것은 WIN32OLE의 문제입니다 말씀 COM 일부 통증이 객체.

    Windows에서 실행하는 경우, 물론, 그것은 WIN32OLE의 문제입니다 말씀 COM 일부 통증이 객체.

    기회는 당신이 그래도 * nix에서 스크립트 환경에서 역할을한다는 것이다. Word 2007을 사용하는 "마이크로 소프트 오피스 오픈 XML"형식 (* .DOCX) Microsoft에서 적절한 호환 기능 팩을 사용하여 열 수있는.

    보다 최근의 오피스 애플리케이션 (적어도 2002 / XP 및 2003)의 일부는 쓸모있을 수 있습니다 자신의 XML 형식을했다.

    나는 슬프게도, 쉽게 과정을 만들기 위해 어떤 루비 도구를 잘 모르는 것 같아요.

    이 수용 할 수 있다면, 나는 이름을 변경 한 - HTML 파일의 경로를 아래로 이동하는 경향 거라고 생각합니다. 난 그냥, WordXP에서 HTML로 문서를 저장 한 덕에 개명하고 문제없이 그것을 열었다.

  12. ==============================

    12.https://github.com/jawspeak/ruby-docx-templater이 github의의 REPO을 확인

    https://github.com/jawspeak/ruby-docx-templater이 github의의 REPO을 확인

    그것은 당신이 워드 템플릿에서 문서를 만들 수 있습니다.

  13. ==============================

    13.저도 같은 문제가 발생했습니다. 내 고객 자체가 템플릿을 채우기 위해해야하기 때문에 불행하게도, 난 XML을 조작 할 수 있습니다. 그리고이 (예를 들어, Mac 용 사무실이 허용하지 않습니다) 항상 가능한 것은 아닙니다 할 수 있습니다.

    저도 같은 문제가 발생했습니다. 내 고객 자체가 템플릿을 채우기 위해해야하기 때문에 불행하게도, 난 XML을 조작 할 수 있습니다. 그리고이 (예를 들어, Mac 용 사무실이 허용하지 않습니다) 항상 가능한 것은 아닙니다 할 수 있습니다.

    https://github.com/eicca/rtf-templater :이 문제에 대한 해결책으로서, 나는 임베디드 루비와 함께 RTF 문서 템플릿으로 사용할 수있는 간단한 보석을 만들어

    나는 그것을 테스트는 충전 보고서 및 문서에 대한 확인을 작동합니다. 그러나 심하게 포맷하면 복잡한 루프와 조건을 표시합니다.

  14. from https://stackoverflow.com/questions/697505/creating-microsoft-word-docx-documents-in-ruby by cc-by-sa and MIT license