èŠéãããWSLã®ã¢ããããŒã
2016幎10æ25æ¥(çŸå°æé)ãMicrosoftã¯Windows 10 Insider Preview ãã«ã14955ããªãªãŒã¹ããWSL(Windows Subsystem for Linux)ãåãããã«æŽæ°ããŠããããšæãããããªãªãŒã¹ããŒãã«ãããšOSãã«ã14955ã§ã®WSLã¢ããããŒãã¯å«ãŸããŠããªããšããããã®èæ¯ã«ã¯ã2016幎10æ19æ¥(çŸå°æé)ã«ãªãªãŒã¹ããOSãã«ã14951ã®é ä¿¡ãã©ãã«ãããã
çè ã®ç°å¢ãå«ãå€ãã®Windows Insider Programåå è ã®é ä¿¡ããããæ¬é£èŒãšã¯é¢ä¿ãªããWindows 10 Mobile Insider Previewã¯æ°ãã«ããæ€åºããŠãã0ããŒã»ã³ãããé²ãŸãªããšãããã©ãã«ãçºçããŠãããWindows 10 Insider Previewã®ãã¡ãŒã¹ããªã³ã°ã¯ãçŽ1é±éåäœã§æ°ãã«ããé ä¿¡ããããããOSãã«ã14951ããOSãã«ã14955ãŸã§ã®æéã¯éåžžã©ãããªããããé ä¿¡ãã©ãã«ãæ¹åãããããæ©æã«ææ°ãã«ãã®é ä¿¡ã«èžã¿åã£ãã®ã ããããã®ãããOSãã«ã14955ã®å€æŽç¹ã¯å°ãªããWSLã®ã¢ããããŒããèŠéããããã¡ãªã¿ã«æ¬¡ã®ãã«ãã¯WSLã®ã¢ããããŒããè¡ãããäºå®ã§ããã
PDFãã¡ã€ã«ããç»åãã¡ã€ã«ãåºåãã
ããŠãååã¯PDFãã¡ã€ã«ããããã¹ããæãåºããããLinuxãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ã¯ããã¥ã©ãŒãªPDFæç»ã©ã€ãã©ãªã§ãããPopplerããå©çšãããåããã±ãŒãžã¯ããã¹ããæœåºããã³ãã³ããpdftotextã以å€ã«ããPDFãã¡ã€ã«ã«å«ãŸããç»åãæœåºããã³ãã³ããpdfimagesããå«ãŸããŠããã
äœ¿ãæ¹ã¯ç°¡åã ãããã®ãŸãŸå®è¡ãããšPDFãã¡ã€ã«å ã§äœ¿çšããŠããç»åãã¡ã€ã«ã"ãã¹ãŠ"æœåºãããããåºåå ãã©ã«ããŒå ã«å€§éã®ç»åãã¡ã€ã«ãäœæãããŠããŸããããã§pdfimagesã®ãªãã·ã§ã³ã-listãã䜿ã£ãŠäºåã«ç¢ºèªããããšããèŠãããããäžå³ã¯Microsoftãäœæãã592ããŒãžã«ãããã¶PDFãã¡ã€ã«ã«å¯ŸããŠåãªãã·ã§ã³ã䜿ã£ããã®ã ããçŽ600ãã®ç»åãã¡ã€ã«ãå«ãŸããŠããã
![]() |
ãpdfimages -list PDFãã¡ã€ã«ããå®è¡ããäŸãå«ãŸããç»åãã¡ã€ã«ã®äžèЧãçŸãã |
ãŸããåºåããç»åãã¡ã€ã«ã®åœ¢åŒã¯PBM(Portable Bitmap Format)ãããã¯PPM(Portable Pixmap Format)ã®ããããªãã·ã§ã³ã-pngããããã¯ã-tiffãã远å ããŠãåºåç»åãã¡ã€ã«åœ¢åŒãæå®ããæ¹ããWindows 10ã§ã¯äœ¿ãããããªãã ãããè峿·±ãã®ãäž¡æ¹ã®ãªãã·ã§ã³ã䜿çšã§ããç¹ã ããã®éã¯CMYKç»åãTIFFããã以å€ãPNG圢åŒã§åºåããã
ãã®ããã«PDFããç»åãã¡ã€ã«ã®æœåºã¯ç°¡åãªããããååãšåãããã«ã©ã®ãããªã·ã§ã«ã¹ã¯ãªãããçšæããã°ãå©çšè ã"楜"ã«ãªããã ãããã§ä»åã¯ç»åãã¡ã€ã«ãåºåãããã©ã«ããŒãPDFãã¡ã€ã«ããšã«äœæããåºåç»åãã¡ã€ã«ã«çšããimage-rootã«å ã®PDFãã¡ã€ã«åã䜿çšããã·ã§ã«ã¹ã¯ãªãããçšæããããã€ãã©ããã䜿ãã®ç°å¢ã«åãããŠå€æ°ã®å€ã倿Žããã·ã§ã«ã¹ã¯ãªããã«å®è¡æš©éãäžããŠããã詊ãé ãããã
ãªããUbuntu 14.04ã®å Žåãããã±ãŒãžã®ããŒãžã§ã³ãå€ããããä»åã®ã·ã§ã«ã¹ã¯ãªããã¯æ£ããåäœããªããäºåã«Ubuntu 16.04ãžæŽæ°ããããpdfimagesã®ãªãã·ã§ã³æ§æãç°å¢ã«åãããŠä¿®æ£ããŠã»ããã
#!/bin/bash
IFS=$'\n'
BaseDir=/mnt/c/Users/kaz/Desktop
InputDir=$BaseDir/Input
OutputDir=$BaseDir/Output
if [ ! -d $OutputDir ]; then
mkdir $OutputDir
fi
cd $InputDir
for File in *; do
case ${File##*.} in
pdf|PDF )
echo "Extracting PDF:" ${File}
if [ ! -d ${File%.*} ]; then
mkdir ${File%.*}
fi
pushd ${File%.*} >/dev/null 2>&1
pdfimages -q -p -png -tiff ../${File} ${File%.*}
popd >/dev/null 2>&1
;;
*) ;;
esac
done
ååäœæããã¹ã¯ãªãããããŒã¹ã«æ¹è¯ãå ãã圢ã ã17ïœ19è¡ç®ã¯æœåºããç»åãä¿åãããã©ã«ããŒãäœæããéšåã ããæ¡åŒµåã§ããã.pdfãã.PDFãã¯äžèŠãªãããBashã®å€æ°å±éã${倿°å%.*}ããå©çšããŠæ¡åŒµåãåé€ããã20ïœ22è¡ç®ãä»åã®æ žãšãªãããpdfimagesãæœåºå ãã©ã«ããŒãæå®ãããªãã·ã§ã³ãçšæããŠããªããããã³ãã³ããpushdãã§æœåºå ãã©ã«ããŒã«ç§»åããçžå¯Ÿãã¹ã§PDFãã¡ã€ã«ãåç §ããããŠã³ãã³ããpopdãã§å ã®ãã©ã«ããŒã«æ»ããŠããã
![]() |
ã·ã§ã«ã¹ã¯ãªãããå®è¡ãããšãPDFãã¡ã€ã«ãšåããã©ã«ããŒãäœæããããã«ç»åãã¡ã€ã«ãæœåºããŠãã |
![]() |
ãã¡ãã¯æœåºããç»åãã¡ã€ã«ã®äžèЧãä»å䜿çšããPDFã§ã¯1000ãè¶ ããç»åãã¡ã€ã«ãäœæããã |
é¿ä¹ 接è¯å(Cactus)



















