หน้าเว็บ

วันเสาร์ที่ 10 กันยายน พ.ศ. 2554

วิธีแก้ไข Metadata Title ของไฟล์ PDF

ถ้ามีไฟล์ pdf แล้วอยากแก้ไข metadata เช่น Title ของไฟล์สามารถทำได้ง่ายๆโดยใช้ Tool ชื่อ exiftool

เวลาใช้งานก็สั่งดังนี้
exiftool -Title="New Title" filename.pdf

วันพุธที่ 1 มิถุนายน พ.ศ. 2554

วิธีใช้ latex สร้างไฟล์ pdf โดยให้ embed font ติดไปด้วย

ผมมีปัญหาว่าเขียนไฟล์ .tex (latex) แล้วพอจะคอมไพล์เป็นสกุล .pdf แล้วมันไม่ยอม embed font บางตัวติดไปให้ โดย font ส่วนใหญ่ที่ไม่ embed ติดไปให้นั้นจะเป็น font พวก Base 14 ได้แก่
ผมจึงนำวิธีที่แก้ไขปัญหานี้มาเขียนไว้ครับ (ผมใช้ latex, dvips, ps2pdf)

1. ทำการคอมไพล์ไฟล์ .tex ให้ได้เป็นไฟล์ .dvi
latex filename.tex

2. หลังจากนั้นแปลงไฟล์ .dvi ให้เป็นไฟล์ .ps
dvips filename.dvi

3. สุดท้ายก็แปลงเป็น .pdf
ps2pdf -dPDFSETTINGS=/printer -dEmbedAllFonts=true filename.ps


จุดสำคัญคือข้อ 3 ครับ ตรง -dPDFSETTINGS ถ้าเกิดผมไม่ใช่ option นี้เข้าไป ตรงส่วน -dEmbedAllFonts จะไม่ทำงาน ซึ่งผมคิดว่าค่า default ของ -dPDFSETTINGS ในเครื่องผมเป็น screen ไม่ใช่ printer ซึ่ง screen จะทำให้ EmbedAllFonts เป็น false โดยอัตโนมัติ

สำหรับการตรวจสอบว่า Font ได้ถูก embed เข้าไปรึยังนั้นให้ใช้คำสั่ง
pdffonts filename.pdf
โดยดูชื่อ Font ที่ใช้ และดูที่คอลัมน์ emb ว่าเป็น yes

ส่วนวิธี embed font ด้วยโปรแกรมและระบบปฏิบัติการอื่นดูเพิ่มเติมได้จาก
http://www.sas.upenn.edu/computing/help/students/dissertation-pdf



ระบบที่ทดสอบ
OS: Ubuntu 11.04
latex: TexLive 2009 (pdftex 3.1415926-1.40.10-2.2)
dvips: 5.98
ps2pdf: 9.01

ที่มา
http://www.sas.upenn.edu/computing/node/1225/
http://ismir2005.ismir.net/pdf.html

วันพฤหัสบดีที่ 5 พฤษภาคม พ.ศ. 2554

บีบไฟล์ (Compress) PDF สำหรับ Ubuntu

ถ้ามีไฟล์ PDF ซึ่งมีขนาดใหญ่มากและต้องการบีบอัดให้มีขนาดเล็กลง ขอแนะนำตัวนี้ครับ PDF Compress https://launchpad.net/compress-pdf โดยจะทำงานในรูปแบบของ Nautilus Script นั่นคือสามารถคลิกขวาที่ไฟล์แล้วสั่งงานได้เลยไม่ต้องเปิดโปรแกรมเพิ่มครับ

ที่ผมลองใช้กับไฟล์ PDF ที่มีแต่รูปขนาดใหญ่ๆรวมกัน 800MB สามารถลดลงมาได้เหลือ 700KB ครับ

วิธีการติดตั้ง
1) ดาวน์โหลดจาก https://launchpad.net/compress-pdf
2) ทำการแตก zip ไฟล์ออกมา (tar zxvf Compress-PDF-1.x.tar.gz)
3) เอาไฟล์ Compress PDF ที่แตกออกมาไปไว้ใช้ ~/.gnome2/nautilus-scripts

วิธีการใช้งาน
1) คลิกขวาไฟล์ที่ต้องการทำการบีบอัด แล้วเลือก สคริปต์ (Scripts)-> Compress PDF
2) เลือกระดับการบีบอัด (ความเล็กของไฟล์ แลกมากับ ความละเอียดของรูปหลังการบีบอัด)
3) บันทึกไฟล์ไว้ที่ที่ต้องการ

ระบบที่ทดสอบ
Compress PDF: 1.4
OS: Ubuntu 11.04 with Unity

ที่มา
https://launchpad.net/compress-pdf

ป.ล. เนื่องจากเป็น Nautilus Script ดังนั้นรองรับ GNOME แต่ไม่รู้รองรับ KDE รึเปล่า

ป.ล. 2 มีอีกเทคนิคนึงคือใช้ pdf2ps ในการแปลงไฟล์ไปเป็น .ps (postscript) ก่อนแล้วค่อยใช้ ps2pdf แปลงกลับมาเป็น pdf ก็จะมีขนาดเล็กลงมาก
ตัวอย่าง
pdf2ps original.pdf middle.ps
ps2pdf middle.ps compressed.pdf

ที่มา http://pandemoniumillusion.wordpress.com/2008/05/07/compress-a-pdf-with-pdftk/

วันจันทร์ที่ 12 กรกฎาคม พ.ศ. 2553

วิธี extract text จากไฟล์ pdf บน Ubuntu

ใช้คำสั่ง
pdftotext filename.pdf
โดย filename.pdf แทนด้วยชื่อไฟล์ที่เราต้องการ แล้วโปรแกรมจะสร้างไฟล์ที่ชื่อเหมือนกันว่า filename.txt ออกมา

ในกรณีที่ต้องการทำหลายๆไฟล์ ให้นำไฟล์ .pdf ทั้งหมดใส่ไว้ในโฟลเดอร์เดียวแล้วสั่ง bash script ดังนี้
$for f in *.pdf
> do
> pdftotext "$f"
>done


ระบบที่ทดสอบ
OS: Ubuntu 10.04

ที่มา:
http://en.wikipedia.org/wiki/Pdftotext วันที่ 12 ก.ค. 53

วันพุธที่ 8 เมษายน พ.ศ. 2552

การ Merge หรือ Split PDF บน Ubuntu

ตาม title เลย วิธีการคือใช้ pdf toolkit (pdftk)

ทำการลงก่อนเลยด้วย
sudo apt-get install pdftk
ถ้าจะ Merge ก็ใช้
pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf
ถ้าจะ Split ก็ใช้
pdftk A=one.pdf B=two.pdf cat A1-7 B1-5 A8 output combined.pdf
ลองอ่านคำสั่งดูว่า argument คืออะไร ค่อนข้างตรงไปตรงมา

จริงๆ pdftk ยังทำได้อีกหลายอย่างเลย เช่น rotate, encrypt, decrypt, repair เป็นต้น

ลองอ่านวิธีเต็มๆได้ที่ http://www.pdfhacks.com/pdftk/

ระบบที่ทดสอบ
OS: Ubuntu 8.10
S/W: pdftk 1.41