KTUG마당은 KTUG를 방문하는 모든 이용자가 대화를 나누고 소식을 전하는 곳입니다.
- 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
- Team Blog의 글을 이곳 게시판의 "정보글"로 모았습니다. Team blog는 기고자가 올린 글에 질문을 받는 부담을 줄이기 위하여 댓글을 허용하지 않았습니다. 그러나 이곳 게시판으로 모으면서 댓글을 달 수 있습니다. 게시물을 작성하실 때 댓글을 원하지 않으시면 댓글을 허용하시지 않으시기를 바랍니다. 또한 불필요한 소모성 댓글을 달지 않도록 주의하여 주시기를 바랍니다.
- TeX과 관련된 질문이나 답변은 QnA 마당을 이용하십시오. TeX과 관련된 질문은 지웁니다
- MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
- 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
- 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
- 사용하는 편집기는 CKeditor입니다. 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한줄을 비웁니다. 글줄만 바꾸려면 shift-enter 를 누르시면 <BR>가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
자유글 PDF 파일을 열지 않고 페이지 수 알아내기
2020.09.22 16:45
드물지만 한 프로젝트에서 10개 이상의 파일을 만들어야 하는 경우가 있습니다. 이따금 이런저런 이유로 PDF 파일들의 페이지 수를 헤아려야 합니다. 파일 하나씩 열어서 확인하기 귀찮습니다. 파워셸 스크립트를 하나 만들어봅니다.
get-childitem -name *.pdf | foreach-object {write-host $_ | cpdf -pages $_}
cpdf가 편한데, 이거 무료아닙니다. 그래서 "For non-commercial use only"라는 메시지가 출력됩니다.
텍 라이브에 있는 pdfinfo를 사용해 봅니다. 이건 페이지 수만 나타내는 옵션이 없습니다. 그래서 몇 자 더 적어야 합니다.
get-childitem -name *.pdf | foreach-object {write-host $_ | pdfinfo $_} | select-string 'Pages'
합산까지 해주면 더 좋겠지만 이 정도로 만족합니다. (얼마나 자주 쓴다고 ...)
배치 스크립트로 만들려면 어떻게 해야 할까 쓸데없이 궁리해 봅니다. 파워셸처럼 한 줄로 만들지는 못합니다.
pdfpages.cmd
@echo off dir /b *.pdf >pdf_list.txt for /f "usebackq" %%i in (`find /i ".pdf" pdf_list.txt`) do ( echo %%i pdfinfo %%i >pdf_info.txt 2>nul for /f "usebackq delims=" %%j in (`find "Pages" pdf_info.txt`) do echo %%j ) del pdf_info.txt del pdf_list.txt
댓글 15
-
noname
2020.09.22 17:20
-
yihoze
2020.09.22 17:32
for %%i in (*.foo)
저는 이걸 왜 생각해내지 못했을까요? 전에 많이 썼던 것 같은데... 갈수록 멍청해지나 봅니다.
-
순뚱맘
2023.09.12 10:23
지나가던 컴알못입니다...
txt에다가 복붙해서 bat으로 변경 후 실행을 했는데 pdfinfo 관련해서 뭐 에러메세지가 나와서요....
어떻게하면 사용가능할까요ㅠ
-
yihoze
2023.09.12 13:40
에러 메시지가 뭔지 모르겠습니다만, 파일 이름에 공백이 포함되어 있다면 따옴표로 감싸 주어야 합니다.
pdfinfo "%%i" | find "Pages"
-
순뚱맘
2023.09.12 15:15
pdfinfo is not recognized as an internal or external comandm 라는 메세지가 떠요ㅠ_ㅠ...
제가 실행하는 방법도 맞나요?
PDF파일이 있는 폴더해다가 pdfpages.bat 파일 옮겨두고 cmd켜서 chcp 65001 입력후 pdfpages 입력했었거든요... (chcp 65001 입력은 검색해보니깐 한글이 꺠지면 이거 입력하면 된다고 해서여...!)
-
yihoze
2023.09.13 07:51
저 메시지는 pdfinfo를 찾지 못하겠다는 뜻입니다.
저의 경우, pdfinfo.exe가 C:\texlive\2023\bin\windows 에 들어 있습니다.
이 경로가 PATH 환경 변수에 포함되어 있어야 합니다. 설마 TeX Live를 설치하지 않으신 건 아니죠? https://www.xpdfreader.com/download.html 에서 구하는 방법도 있긴 합니다만, 좌우지간 pdfinfo.exe가 있는 폴더가 PATH에 있어야 합니다.
-
순뚱맘
2023.09.13 13:32
ㅋㅋㅋ죄송합니다..TeX Live 조차 모르는 컴알못.. 설치해야 하는 거군요...!
-
yihoze
2020.09.23 11:26
합계 구하는 것까지 만들어봤습니다. 배치로는 어떻게 해야 할지 모르겠고 구태여 하고 싶지도 않습니다. ^^
$pdfpages = @() $total = 0 foreach ($f in get-childitem -name *.pdf) { $p = pdfinfo $f | select-string 'Pages' $p = $p -replace "Pages:" $p = $p.trim() $total = $total + $p $p = $f + ": " + $p $pdfpages = $pdfpages + $p } $pdfpages write-host "Total:" $total
-
noname
2020.09.23 17:31
요즘 Windows는 Linux가 기본으로 돌잖아요? 그러니 shell script를....
#!/bin/sh sum=0 for i in `ls *.pdf`; do echo $i tmp=`qpdf --show-npages $i` echo $tmp sum=$((sum+tmp)) done echo "Total Pages: "$sum
qpdf는 sudo apt install qpdf
-
likesam
2020.09.23 19:05
Windows에서 WSL을 켜면 Hyperviser-V인가가 활성화되면서 각종 가상화 프로그램에 악영향을 미칩니다. 다시 끄기도 어려워요. T.T
-
noname
2020.09.23 20:15
대략 해결되어 가는 것 같은데요? https://bit.ly/35ZOYo5
-
likesam
2020.09.24 10:45
VMware도 피해가는 방법으로 선회하였다고 합니다. ( https://blogs.vmware.com/workstation/2020/05/vmware-workstation-now-supports-hyper-v-mode.html )
운영체제를 틀어쥔 Hyper-V가 막고 있으니, Hyper-V가 있을 때와 없을 때 서로 다른 방법으로 하드웨어에 접근하고, Hyper-V가 켜져 있을 때 vmware의 속도가 눈에 띄게 느려진다는 답글들이 보입니다.
해결은 되었지만, 느린 속도를 참지 못하면 더 빠른 CPU로 바꾸거나, 아니면 Hyper-V를 안쓰거나 둘 중에 하나를 골라야 하는 것으로 보입니다.
-
likesam
2023.09.13 16:26
.bat 로 어떻게 될까 하고 생각하여보니, power shell 코드 군요.
-
likesam
2023.09.13 16:45
pdfinfo | pdfinfo | findstr | sed 로 비슷하게 만들려다가 다시 생각하여 보니, 그냥 Powershell 쓰면 되네요. T.T
-
gromov
2020.10.04 13:06
아래아 한글에는 이런거 없으려나요!
그리고 보니 TeX과는 상관 없는 질문이네요. 그래서 물음표를 탄식조로 바꿨습니다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
862 | 주어진 단어로 대소문자 순열 만들기 [15] | yihoze | 2023.12.06 | 385 |
861 | 원고지와의 인연 [21] | noname | 2023.12.07 | 797 |
860 | minipage 병치 [5] | yihoze | 2017.07.14 | 5942 |
859 | 올해 학술대회는 혹시 언제일까요 [2] | 크사인 | 2024.01.09 | 242 |
858 | yihoze님의 지워진 글에 대한 코멘트 [5] | noname | 2023.12.05 | 283 |
857 | 잊을 만하면 다시 돌아오는 로또 [4] | yihoze | 2023.12.05 | 199 |
856 | 표 그리기: Tabular 환경의 표를 tabularray로 그려보자 [2] | noname | 2023.11.30 | 252 |
855 | latex4wp의 표 그리기 [4] | noname | 2023.11.26 | 249 |
854 | Codehigh 패키지 [7] | Zeta | 2023.11.23 | 176 |
853 | 워드 프로세서 사용자를 위한 레이텍 1.2 [20] | noname | 2023.11.05 | 481 |
852 | 색인에서 연속하는 페이지 번호 [3] | yihoze | 2023.11.16 | 141 |
851 | [소소한 팁 03] 특정 명령이 정의된 패키지 찾기 [4] | noname | 2023.11.09 | 232 |
850 | 양력 음력 변환 [9] | noname | 2020.11.23 | 3517 |
849 | 영어로 작성된 텍 파일의 철자 검사하기 [2] | yihoze | 2023.11.03 | 223 |
848 | [유물] 1995년의 TeX: HTEX [6] | noname | 2022.04.17 | 952 |
847 | [역사] ko.TeX 이전의 한글 LaTeX [5] | noname | 2023.10.10 | 461 |
846 | TeX 매크로 관련 문서 [4] | 크사인 | 2023.09.28 | 351 |
845 | 한국 텍 사용자 수 [10] | 크사인 | 2023.09.14 | 498 |
» | PDF 파일을 열지 않고 페이지 수 알아내기 [15] | yihoze | 2020.09.22 | 16139 |
843 | Noto 폰트 [4] | yihoze | 2023.09.06 | 305 |
배치 파일은 모름지기 간단하게 :-)