텍스트를 페이지에 맞게 변환(명령줄에서)

텍스트를 페이지에 맞게 변환(명령줄에서)

페이지에 맞게 짧은 텍스트(한 단어에서 몇 줄까지)의 크기를 조정하려면 어떻게 해야 합니까(가운데 정렬 또는 왼쪽 정렬 등의 옵션이 있으면 좋을 것입니다)? (명령줄에서)

주문하다:

echo Audio | lpr -P Dymo450LabelWriter_network -o raw -o scaling=100

모서리에만 작은 텍스트를 생성합니다(잘못됨!!!). (페이지에 맞게 크기를 조정하고 싶습니다.)

여기에 이미지 설명을 입력하세요.

저는 사용자 정의 페이지 형식(위의 경우 57mm x 32mm)을 사용하고 있습니다.

상당히 표준적인 패키지를 사용하는 것이 있습니까(LaTeX를 생성하는 것보다 쉽습니까)?

(환경 : 프린터는 png, pdf, ps에 적합합니다)

답변1

이미지 마술사할수있다. 보다"텍스트 처리 - 이미지에 가장 적합"의 예.

convert -background white -fill black -density 600x600 -size 1346x756 -gravity center label:'Audio' audio.pdf

또한 여러 줄을 지원합니다.

convert -background white -fill black -density 600x600 -size 1346x756 -gravity center label:'Audio\nCables' audio_cables.pdf

첫 번째 명령의 출력: 여기에 이미지 설명을 입력하세요.

두 번째 명령의 출력: 여기에 이미지 설명을 입력하세요.

답변2

당신은 시도 할 수 있습니다 enscript. 여기에는 많은 기능이 있으며 그 중 많은 기능은 관심이 없지만 글꼴 크기와 미디어 크기를 설정할 수 있습니다. 중앙에 정렬되거나 정렬되지는 않지만 Ghostview를 사용하여 결과를 시각화하고 데이터를 수정할 수 있습니다. 이 시도:

cat <<\! >>~/.enscriptrc
# Media: name width height llx lly urx ury   bounding box lowleft upright
# 57mm x 32 mm converted to points:
Media: mylabel 161 90 0 0 161 90
!

echo 'hello and hello followed by bye bye' |
enscript -p - -h -B -M mylabel -f Helvetica-Bold@30 >out.ps
gv --media=mylabel out.ps

주어진 라벨 크기에 따라 텍스트가 2페이지로 나누어져 있는 것을 볼 수 있습니다.

제안된 명령의 출력:

페이지 1: 여기에 이미지 설명을 입력하세요. 2 쪽:여기에 이미지 설명을 입력하세요.

답변3

유약을 바른파일을 생성하기 위한 GUI 편집기( glabels-3)와 명령줄이나 스크립트에서 이전에 생성된 .glabels를 인쇄하기 위한 프로그램이 모두 있습니다..glabelsglabels-3-batch

CSV를 포함한 다양한 파일 형식에 대한 메일 병합 기능을 지원합니다.

.glabels 파일은 gzip압축된 XML입니다. 저는 간단한 파일 glabels-3(7줄의 텍스트가 포함된 큰 텍스트 필드)을 만들었습니다. gunzip-파일을 실행하면 다음과 같습니다.

 <?xml version="1.0"?>
<Glabels-document xmlns="http://glabels.org/xmlns/3.0/">
  <Template brand="Dymo" part="99012" size="Other" width="35.9999mm" height="88.9998mm" description="Large Address Labels">
    <Meta category="label"/>
    <Meta category="mail"/>
    <Label-rectangle id="0" width="35.9999mm" height="88.9998mm" round="0mm" x_waste="0mm" y_waste="0mm">
      <Markup-margin size="0mm"/>
      <Layout nx="1" ny="1" x0="0mm" y0="0mm" dx="35.9999mm" dy="88.9998mm"/>
    </Label-rectangle>
  </Template>
  <Objects id="0" rotate="True">
    <Object-text x="1.33759mm" y="1.0501mm" w="86.1756mm" h="33.7488mm" justify="Left" valign="Top" auto_shrink="False" a0="1" a1="0" a2="0" a3="1" a4="0" a5="0">
      <Span color="0x000000ff" font_family="Sans" font_size="12" font_weight="Regular" font_italic="False" line_spacing="1">Line1<NL/>Line2<NL/>Line3<NL/>Line4<NL/>Line5<NL/>Line6<NL/>Line7</Span>
    </Object-text>
  </Objects>
  <Data/>
</Glabels-document>

XML 도구나 프로그래밍 라이브러리를 사용하여 생성하기 쉬워야 합니다. 심지어 인쇄 sh나 .awkperl

관련 정보