PPDF123
How-to2026-10-02อ่านประมาณ 2 นาที

รูปถ่ายจากมือถือเป็น PDF: ทำไมไฟล์ใหญ่โตและหน้าหนึ่งหมุนตะแคง

ภาพเป็น PDF วางรูปแต่ละรูปไว้หนึ่งหน้าที่ขนาดพิกเซลเต็ม JPEG ขนาดแบบมือถือ 3.2 MB สามรูปจึงกลายเป็น PDF 41.5 MB และรูปแนวตั้งออกมาอยู่บนหน้าแนวนอน ให้ย่อรูปก่อนแปลง แล้วหมุนหน้าที่ตะแคงภายหลัง

PDF123 · Updated 2026-10-02

ภาพเป็น PDF แปลงไฟล์ JPEG, PNG, GIF หรือ BMP เป็น PDF ไฟล์เดียว หนึ่งรูปต่อหนึ่งหน้า ตามลำดับที่อัปโหลด มันไม่ได้ย่อขนาดอะไรเลย และไม่สนใจแฟลกการหมุนที่มือถือเขียนลงในรูปแนวตั้ง ในการทดสอบรอบหนึ่ง JPEG 3.2 MB สามรูปกลายเป็น PDF 41.5 MB และรูปที่ติดแฟลกแนวตั้งไปอยู่บนหน้าแนวนอน ให้ย่อรูปก่อนอัปโหลด แล้วแก้หน้าที่ตะแคงภายหลังด้วย หมุน PDF

ตัวอย่างจริง

ไฟล์ต้นทางคือ JPEG สามรูปขนาด 4032 × 3024 พิกเซล รูปละราว 3.2 MB (รวม 9.7 MB) ซึ่งเป็นขนาดพิกเซลของเฟรมกล้องมือถือทั่วไป เป็นภาพสังเคราะห์ที่มีสัญญาณรบกวนละเอียด จึงบีบอัดได้แย่กว่ารูปถ่ายจริงส่วนใหญ่ ให้ถือว่าขนาดทุกตัวด้านล่างเป็นผลของการรันครั้งเดียวเมื่อ 2026-10-04 กับเซิร์ฟเวอร์ในเครื่องที่สร้างจากซอร์สปัจจุบัน ไม่ใช่คำสัญญา คำขอคือ:

curl -s -o IMG_0001.pdf \
  -F fileInput=@IMG_0001.jpg -F fileInput=@IMG_0002.jpg -F fileInput=@IMG_0003.jpg \
  https://pdf123.xyz/api/v1/convert/img/pdf
ขั้นตอน ผลลัพธ์
JPEG 3 รูป 4032 × 3024 px รวม 9.7 MB
ภาพเป็น PDF 3 หน้า 41.5 MB แต่ละหน้า 4032 × 3024 pt
บีบอัด PDF กับ PDF นั้น 39.9 MB เล็กลงราว 4%
รูปทั้ง 3 ชุดเดิมที่ย่อเหลือ 1600 px ด้านยาวก่อน รวม 1.7 MB
ภาพเป็น PDF กับรูปที่ย่อแล้ว 3 หน้า 6.2 MB แต่ละหน้า 1600 × 1200 pt
บีบอัด PDF กับ PDF นั้น 6.2 MB ไม่เล็กลง

ไฟล์ผลลัพธ์ตั้งชื่อตามไฟล์แรก ดังนั้นไฟล์ที่ดาวน์โหลดข้างต้นคือ IMG_0001.pdf

ทำไมรูป 10 MB กลายเป็น 41 MB

JPEG เก็บรูปถ่ายเป็นบล็อกที่บีบอัดแบบสูญเสีย ภาพเป็น PDF ไม่ได้คัดลอกไบต์เหล่านั้นเข้า PDF แต่ถอดรหัสแต่ละรูป แปลงเป็น RGB 8 บิต และเก็บพิกเซลดิบด้วยการบีบอัด Flate แบบไม่สูญเสีย เฟรม 4032 × 3024 หนึ่งเฟรมคือ RGB 36.6 ล้านไบต์ (4032 × 3024 × 3) Flate ลดลงเหลือราว 13.8 MB ต่อหน้าในรอบนี้ ซึ่งยังมากกว่า JPEG ต้นทางกว่าสี่เท่า สำเนาเก้าชุดของรูปทั้งสามทำให้ได้ PDF 124.6 MB

นั่นอธิบายแถวของ บีบอัด PDF ด้วย การบีบอัดจะบีบสตรีมซ้ำและจัดอ็อบเจกต์ให้กระชับ แต่ไม่ลดความละเอียดหรือเข้ารหัสภาพใหม่ พิกเซลถูกบีบด้วย Flate แล้ว จึงเหลือให้ตัดน้อยมาก (เหตุผล) ทางไปสู่ไฟล์ที่เล็กลงคือพิกเซลที่น้อยลงก่อนสร้าง PDF

ยังมีต้นทุนอีกข้อ ทุกหน้ามีขนาดตามรูปของมัน หนึ่งพิกเซลต่อหนึ่งพอยต์ ดังนั้นรูป 4032 พิกเซลทำให้ได้หน้ากว้าง 56 นิ้ว โปรแกรมดูจะปรับให้พอดีหน้าต่างและเครื่องพิมพ์จะย่อให้พอดีกระดาษ แต่กรอบหน้าไม่ใช่ A4 หรือ Letter ฟอร์มไม่มีตัวเลือกขนาดกระดาษ การปรับให้พอดี ชนิดสี หรือหมุนอัตโนมัติ และเซิร์ฟเวอร์ไม่อ่านฟิลด์ API fitOption, colorType หรือ autoRotate

ย่อก่อน แล้วค่อยแปลง

ย่อรูปก่อนอัปโหลด บน Mac ใช้ sips -Z 1600 IMG_0001.jpg --out small1.jpg ได้ กับ ImageMagick บนระบบใดก็ได้:

magick IMG_0001.jpg -resize 1600x1600 -quality 85 small1.jpg

ทั้งสองคำสั่งเปลี่ยนรูป 4032 × 3024 เป็น 1600 × 1200 ในรอบนี้ JPEG ทั้งสามรูปลดจาก 9.7 MB เหลือ 1.7 MB และ PDF สามหน้าจาก 41.5 MB เหลือ 6.2 MB บนกระดาษ Letter 1600 พิกเซลตลอด 11 นิ้วคือราว 145 dpi: อ่านแบบฟอร์มที่ถ่ายได้ แต่หยาบสำหรับตัวหนังสือเล็ก ให้เลือกขนาดจากตัวอักษรที่เล็กที่สุดที่ต้องอ่านให้ได้ ไม่ใช่จากขนาดไฟล์เป้าหมายอย่างเดียว

ขนาดสำคัญสองครั้ง เพราะเครื่องมือที่ใช้ต่อก็มีเพดานเช่นกัน เนื้อหาคำขอหนึ่งครั้งจำกัดที่ 100 MiB PDF 124.6 MB ข้างต้นถูกปฏิเสธด้วย 413 (payload_too_large) เมื่อส่งไปที่ บีบอัด PDF ดูทางแก้ใน เมื่อการอัปโหลด PDF ขนาดใหญ่ถูกปฏิเสธ

หน้าที่ตะแคง

มือถือหลายรุ่นเก็บรูปแนวตั้งเป็นพิกเซลแนวนอน แล้วเพิ่มแท็กการวางแนว EXIF ที่บอกให้โปรแกรมดูหมุนรูป แอปรูปภาพมักทำตามแท็กนี้ ภาพเป็น PDF ไม่อ่านแท็ก: JPEG 1600 × 1200 ที่ติดแท็กการวางแนว 6 (หมุน 90° ตามเข็มนาฬิกา) ให้หน้าแนวนอน 1600 × 1200

วิธีแก้คือ หมุน PDF: ใส่หมายเลขหน้า ในที่นี้คือ 1 และมุม 90 ผลลัพธ์มี /Rotate 90 ตั้งไว้ที่หน้านั้น โปรแกรมดูจึงแสดงตั้งตรง ใช้ 270 สำหรับรูปที่ติดแท็กอีกทาง (การวางแนว 8) และ 180 สำหรับรูปกลับหัว (การวางแนว 3) ในการทดสอบนี้ทดสอบเฉพาะการวางแนว 6 หมุน PDF ตั้งมุมสัมบูรณ์บนหน้า ไม่ใช่บวกเพิ่มจากมุมปัจจุบัน และไม่เข้ารหัสภาพใหม่ หากไม่อยากแก้ทีละหน้า ให้หมุนรูปในแอปรูปภาพแล้วบันทึกสำเนาก่อนแปลง

สิ่งที่เครื่องมือนี้จะปฏิเสธ

  • HEIC และรูปแบบอื่น หน้านี้รับ .png, .jpg, .jpeg, .gif และ .bmp ไฟล์ HEIC จริงได้ 400 unsupported_file_type ให้ส่งออกเป็น JPEG ก่อน
  • ไฟล์ที่ไม่ใช่รูปภาพ การอัปโหลด PDF ไปยังจุดปลายทางนี้ได้ 400 เดียวกัน พร้อมข้อความ "The file is not a supported image."
  • SVG ไฟล์ SVG ได้ 400 เดียวกัน
  • ข้อความที่ค้นหาได้ ข้อความในหน้าที่ถ่ายยังเป็นพิกเซล OCR เป็น Markdown ให้ข้อความ Markdown แต่ไม่เพิ่มชั้นข้อความให้ PDF นี้ (ทำงานอย่างไร)
  • ความโปร่งใส รูปถูกแปลงเป็น RGB และช่องอัลฟาถูกทิ้ง

ตรวจก่อนส่ง

เปิด PDF แล้วนับหน้าเทียบกับรูปตามลำดับ ลำดับหน้าคือลำดับการอัปโหลด ในการทดสอบ การอัปโหลด PNG แนวตั้งก่อน PNG แนวนอนทำให้หน้าแนวตั้งมาก่อน จากนั้นดูขนาดไฟล์ก่อนแนบ

Open tool
Process in the browser — no watermark, files removed after the job.
Open tool
Read next
แปลง PDF เป็น JPG หรือ PNG: DPI เปลี่ยนอะไร และส่งออกหน้าเดียวอย่างไร
PDF เป็นภาพ เรนเดอร์ทุกหน้าลงไฟล์ ZIP เป็น PNG เว้นแต่คุณเลือก JPEG ฟอร์มบนเบราว์เซอร์มีเพียงรูปแบบและ DPI ฟิลด์ API สำหรับเลือกหน้าและ WebP ไม่มีผล ขนาดไฟล์ที่วัดได้ที่ 150 และ 300 DPI และวิธีส่งออกเพียงหน้าเดียว
ส่งเฉพาะบางหน้าของ PDF: ดึงหน้าออก ลบหน้า และสิ่งที่ยังตกค้างในไฟล์
หากต้องการส่งเฉพาะบางหน้าของ PDF ให้ระบุหน้าที่จะเก็บใน ดึงหน้าออก หรือหน้าที่จะทิ้งใน ลบหน้า ข้อความในหน้าที่ถูกตัดจะหายไป แต่ชื่อบุ๊กมาร์กและชื่อเอกสารอาจยังอยู่ในไฟล์
ใส่เลขหน้าให้ PDF: ตำแหน่ง เลขเริ่มต้น และกับดักหน้าที่ถูกหมุน
วิธีใส่เลขหน้าให้ PDF ที่มีอยู่แล้วทางออนไลน์: เลือกมุม ตั้งเลขเริ่มต้น เช่น 101 และหลีกเลี่ยงเลขที่ตะแคงบนหน้าที่เก็บไว้เป็นหน้าหมุน