.docx 파일을 일반 텍스트로 변환하고 줄 바꿈을 유지하여 소스 문서에 대한 줄 번호 참조를 유지합니다. 이것이 어떻게 그리고 무엇을 의미합니까?

.docx 파일을 일반 텍스트로 변환하고 줄 바꿈을 유지하여 소스 문서에 대한 줄 번호 참조를 유지합니다. 이것이 어떻게 그리고 무엇을 의미합니까?

MS를 수출하고 있어요단어콘텐츠는 텍스트 및 파일 유틸리티에서 사용할 수 있도록 일반 텍스트로 변환됩니다. 제약이 있어요행 번호이 기능은 MS 소프트웨어에서 활성화되며 최종 출력의 줄 번호에 대한 참조는~ 해야 하다해당 숫자를 일치시키세요. 따라서 "번호가 매겨진 행"을 입력하십시오.

여기에 이미지 설명을 입력하세요. (에드가 앨런 포)

분명히단어, 이러한 숫자는 다음 시간에 줄바꿈되지 않습니다.새로운 팀, 이후 "라인"이 끊어집니다.오른쪽 여백(또는 다른 것). 이와 같은 스크립트docx2txt, 기본값은 이것을 고려하지 않고 개행 문자로 래핑하는 것 같습니다. 따라서 번호 매기기를 사용하면 grep -n위에 표시된 것처럼 줄이 소스 줄 번호 기능과 일치하지 않습니다. 이 경우 필요한 방식으로 파일을 변환하기 위해 Perl 스크립트를 어떻게 편집해야 하는지 문서에는 명확하지 않습니다.

our $config_newLine = "\n"; # Alternative is "\r\n".
our $config_lineWidth = 80; # Line width, used for short line justification.

\n대체 하려고 시도했지만 \r\n나에게는 효과가 없는 것 같습니다. 그래서 내가 직접 가서단어다음 설정을 사용하여(다른 이름으로 저장일반 텍스트, v.2013,64pc 관련):

  • 유니코드(UTF-8)
  • 개행 + 끝 줄을 삽입하려면 (CR/LF)를 사용하십시오.
  • 문자 대체 허용

이제 정말 내 생각이 나네요사용파일 .txt의 소스 번호 지정 기능과 출력의 행 번호가 완벽하게 일치합니다 grep -n.


  • 내가 알아야 할 특정 구성/프로세스 docx2txt나 내 컴퓨터를 변환할 수 있는 유사한 명령줄 유틸리티가 있습니까?.docx줄 바꿈을 유지하면서 파일을 일반 텍스트로 변환합니다.단어나처럼?
  • 무엇인가요모범 사례, 있는 경우 MS를 내보내는 데 사용됨단어문서(악센트 문자가 포함될 수 있음)는 줄바꿈 및 서식 지정과 관련하여 파일/텍스트 유틸리티와 함께 ​​사용할 수 있도록 일반 텍스트로 변환됩니다. 선택한 내보내기 설정(예: CR/LF 삽입)에 부정적인 영향이 있습니까?

견본

제안대로 샘플을 제공했습니다. 이 rar에서파일, 나는 묶음으로 묶었습니다..docx간단한 단락과 해당 내보내기가 포함된 파일. txt위 옵션이 포함된 Word 파일을 사용하세요. 후자는 docx2txt소스 파일의 기본 실행과 비교할 수 있습니다.

답변1

docx2txtdocxXML 파일의 압축된 세트인 파일의 정보를 처리합니다 .

줄 바꿈의 경우 .docxXML 데이터에는 소프트 브레이크가 아닌 단락 및 하드 브레이크에 대한 정보만 포함됩니다. 소프트 브레이크는 특정 글꼴, 글꼴 크기 및 페이지 너비로 텍스트를 렌더링한 결과입니다. docx2txt일반적으로 글꼴 및 글꼴 크기에 관계없이 텍스트를 80개 열(80개 열 구성 가능)에 맞추려고 노력합니다. .docxUnix/Linux에서 사용할 수 없는 Windows 시스템의 글꼴 정보를 포함하는 경우 .txtOpen/LibreOffice 내보내기를 통해 동일한 레이아웃을 얻을 수는 없지만 좋은 작업을 수행하려고 합니다.

따라서 docx2txt명령줄 기반 Open/LibreOffice 처리를 포함한 다른 명령줄 유틸리티는아니요Word²에서 내보낼 때와 동일한 레이아웃으로 텍스트 변환이 보장됩니다.

Word와 정확히 같은 방식으로 렌더링하기를 원하는 경우(또는 클라이언트에 의해 강제로 렌더링되는 경우) 내 경험상 유일한 방법은 Word에서 렌더링을 수행하도록 하는 것입니다. 귀하와 비슷한 문제가 발생하고 다른 도구(OpenOffice 포함)를 사용하여 호환되지 않는 결과를 얻었을 때 호스트 Linux 서버에 Windows VM을 설치하는 방법으로 되돌아갔습니다. 클라이언트 가상 머신에서 프로그램은 변환할 들어오는 파일이 있는지 호스트를 감시하고, 호스트는 변환을 수행하기 위해 Word를 시작하고 구동한 다음 결과를 다시 복사합니다⁴.

CR/LF를 사용할지, LF만 사용할지, UTF-8이나 다른 인코딩을 사용할지 결정하는 것은 .txt결과 파일이 어떻게 사용될지에 따라 크게 달라집니다. 생성된 파일이 Windows에서 사용된 경우 반드시 CR/LF, UTF-8 및UTF-8 BOM. Linux의 최신 프로그램은 파일이 UTF-8이라고 추론할 수 있지만 BOM을 거부하거나 해당 정보를 사용하지 않습니다. 사전에 알려진 경우 모든 대상 응용 프로그램의 호환성을 테스트해야 합니다.

1이러한 비호환성은 내 친구들 중 일부가 Windows에서 Linux로 전환하고 싶어도 전환할 수 없는 주된 이유입니다. Open/LibreOffice는 때때로 클라이언트와 교환하는 텍스트를 손상시키기 때문에 Microsoft Word를 사용해야 합니다.
²Word 파일에 사용되는 모든 글꼴을 설치할 수 있으며 때로는 일부 텍스트에 운이 좋을 수도 있습니다. 3Render PDF
from ⁴ 이 프로그램은 누군가가 메뉴를 클릭한 것처럼 GUI 자동화를 사용하며 API를 통해 Word를 구동하려고 시도하지 않습니다. 후자도 가능하다고 확신하며, Word가 업그레이드되어도 문제가 발생하지 않는다는 장점이 있습니다..doc/.docx

관련 정보