ส่งเฉพาะบางหน้าของ PDF: ดึงหน้าออก ลบหน้า และสิ่งที่ยังตกค้างในไฟล์
หากต้องการส่งเฉพาะบางหน้าของ PDF ให้ระบุหน้าที่จะเก็บใน ดึงหน้าออก หรือหน้าที่จะทิ้งใน ลบหน้า ข้อความในหน้าที่ถูกตัดจะหายไป แต่ชื่อบุ๊กมาร์กและชื่อเอกสารอาจยังอยู่ในไฟล์
ดึงหน้าออก เปลี่ยน PDF 12 หน้าให้เป็น PDF ใหม่ที่มีเฉพาะหน้าที่คุณระบุ เช่น 1,3,5-8 ส่วน ลบหน้า ทำตรงกันข้าม คือคุณระบุหน้าที่จะทิ้ง ทั้งสองเครื่องมือคัดลอกหน้าต้นฉบับมาโดยตรง ไม่ได้วาดใหม่ ข้อความจึงยังเลือกได้และภาพไม่เบลอ มีข้อจำกัดหนึ่งข้อที่สำคัญหากหน้าที่ตัดออกเป็นข้อมูลอ่อนไหว คือเนื้อหาของหน้าจะหายไป แต่ชื่อบุ๊กมาร์กและชื่อเอกสารอาจยังอยู่ในไฟล์ใหม่
เลือกเครื่องมือตามสิ่งที่คุณรู้อยู่แล้ว
ถ้ารู้ว่าจะเก็บหน้าไหน ให้ใช้ ดึงหน้าออก ถ้ารู้ว่าจะทิ้งหน้าไหน ให้ใช้ ลบหน้า ความต่างอยู่ที่ลำดับของผลลัพธ์:
- ดึงหน้าออก เขียนหน้าตามลำดับที่คุณพิมพ์ พิมพ์
5,1,3จะได้หน้า 5 ตามด้วยหน้า 1 และหน้า 3 หน้าที่พิมพ์ซ้ำสองครั้งจะปรากฏครั้งเดียว - ลบหน้า เก็บหน้าที่เหลือไว้ตามลำดับเดิม
หมายเลขหน้าคือตัวเลขที่โปรแกรมดู PDF แสดง โดยเริ่มนับที่ 1 ทั้งสองเครื่องมือใช้รูปแบบรายการเดียวกัน: หน้าเดี่ยว (4) ช่วง (5-8) รายการคั่นด้วยจุลภาค (1,3,5-8) คำว่า all และนิพจน์เช่น 2n+1 นิพจน์นี้นับ n เริ่มจาก 1 ดังนั้น 2n+1 ได้หน้า 3, 5, 7 และต่อไป หน้า 1 ไม่รวมอยู่ด้วย หากต้องการหน้า 1 ให้พิมพ์ 1,2n+1
ตัวอย่างจริง: ส่งสัญญาเช่าบางส่วนให้เจ้าของที่
ไฟล์ต้นทางคือสัญญาเช่าขนาด Letter 12 หน้า แต่ละหน้ามีเลขของตัวเองเป็นข้อความ ("Lease agreement - page 3 of 12") จึงตรวจผลได้ง่าย เจ้าของที่ต้องการหน้า 1, 3 และ 5 ถึง 8 ไม่เอาภาคผนวก ในเบราว์เซอร์คุณอัปโหลดไฟล์ พิมพ์ 1,3,5-8 แล้วดาวน์โหลดผลลัพธ์ จากสคริปต์ การดำเนินการเดียวกันคือ:
curl -s -o pages.pdf \
-F [email protected] \
-F pageNumbers="1,3,5-8" \
https://pdf123.xyz/api/v1/general/rearrange-pages
เครื่องมือบนเว็บส่งรายการไปยังจุดปลายทางนั้นและไม่ตั้งค่า customMode ซึ่งหมายถึง "ใช้รายการของฉันตามลำดับของฉัน" ผลต่อไปนี้มาจากการรันครั้งเดียวกับเซิร์ฟเวอร์ในเครื่องเมื่อ 2026-10-04 โดยใช้ไฟล์ทดสอบที่สร้างขึ้น ตัวเลขคือจำนวนหน้าและป้ายกำกับหน้าที่ดึงออกมาจากไฟล์ผลลัพธ์:
| ค่าที่ป้อนให้เครื่องมือ | เครื่องมือ | หน้าในผลลัพธ์ |
|---|---|---|
1,3,5-8 |
ดึงหน้าออก | 6 หน้า: 1, 3, 5, 6, 7, 8 |
5,1,3,1 |
ดึงหน้าออก | 3 หน้า: 5, 1, 3 |
2n+1 |
ดึงหน้าออก | 5 หน้า: 3, 5, 7, 9, 11 |
10-15 |
ดึงหน้าออก | 3 หน้า: 10, 11, 12 |
2-4,9 |
ลบหน้า | 8 หน้า: 1, 5, 6, 7, 8, 10, 11, 12 |
| ว่าง (เฉพาะ API ฟอร์มบนเว็บบังคับให้กรอก) | ลบหน้า | ทั้ง 12 หน้า ได้ไฟล์ต้นฉบับกลับมา |
ไฟล์ที่ดาวน์โหลดใช้ชื่อเดียวกับไฟล์ที่คุณอัปโหลด ให้เปลี่ยนชื่อก่อนส่ง ไม่เช่นนั้นจะมี lease.pdf สองไฟล์ในเครื่อง
สามค่าที่ทำให้ล้มเหลว และข้อความผิดพลาดบอกอะไร
หน้าที่ไม่มีอยู่จริงคือข้อผิดพลาด ไม่ใช่การข้ามไปเงียบ ๆ ขอหน้า 13 จากไฟล์ 12 หน้าจะได้ 400 (page_out_of_range) พร้อมข้อความ Page 13 does not exist; the document has 12 pages. หน้า 0 ถูกปฏิเสธแบบเดียวกัน ข้อความที่ไม่ใช่รายการหน้า เช่น abc ได้ 400 พร้อม invalid_page_selection และคำแนะนำให้ใช้ค่าอย่าง 1,3,5-8 หรือ all ทั้งสองเครื่องมือทำงานเหมือนกันตรงนี้ การพิมพ์ผิดจึงไม่ทำให้ได้ไฟล์ที่ดูสมเหตุสมผลแต่ผิด
มีกรณีขอบอีกสองข้อที่ไม่ชัดเจนนัก ช่วงที่เริ่มในเอกสารแต่ไปสิ้นสุดเกินจะถูกตัดให้พอดี: 10-15 บน 12 หน้าได้หน้า 10 ถึง 12 และ ลบหน้า ไม่ยอมลบทุกหน้า: 1-12 ได้ 400 (would remove every page, which leaves nothing to return) เพราะ PDF ที่ไม่มีหน้าเลยไม่มีอยู่จริง
ไฟล์ที่ป้องกันด้วยรหัสผ่านต้องใส่รหัสผ่านบนหน้าเว็บ หากเรียก API โดยตรง ให้รัน ถอดรหัสผ่าน ก่อน
สิ่งที่ยังตกค้าง: การลบหน้าไม่ใช่การทาบดำ
การดึงหน้าออกทิ้งอ็อบเจกต์ของหน้า และข้อความกับภาพของหน้าที่คุณไม่ได้ระบุก็หายไปด้วย ในการทดสอบ ไฟล์ที่ดึงออกมาไม่มีข้อความจากหน้าที่ตัดทิ้งเลย แต่มันไม่ได้ทิ้งทุกอย่างที่เอ่ยถึงหน้าเหล่านั้น ไบต์ของหน้าที่เก็บไว้ในไฟล์ทดสอบของฉันก็ไม่มีร่องรอยของข้อความที่ตัดทิ้งเช่นกัน
สำหรับการตรวจครั้งนี้ สัญญาเช่ามีชื่อเอกสาร ("Lease - Unit 4B, J. Rivera") และบุ๊กมาร์กสองรายการ คือ "Signature page" ที่หน้า 1 และ "Tenant SSN appendix" ที่หน้า 12 หลังดึงหน้าออกโดยเก็บหน้า 1 และ 2 ไฟล์มี 2 หน้า แต่แผงบุ๊กมาร์กของโปรแกรมดูยังแสดงทั้งสองชื่อ และรายการหลังชี้ไปที่ที่ใดก็ไม่ได้แล้ว ชื่อเอกสารและผู้เขียนยังอยู่ในคุณสมบัติของเอกสาร การลบหน้า 12 ก็ทิ้งบุ๊กมาร์กสองรายการเดิมไว้เช่นกัน
ล้าง PDF เมื่อเปิดตัวเลือกเมตาดาต้า จะล้างข้อมูลเอกสารและเมตาดาต้า XMP และคุณสมบัติของเอกสารว่างเปล่าหลังจากนั้น ฟอร์มบนเว็บเปิดตัวเลือกเหล่านั้นเป็นค่าเริ่มต้น ส่วนการเรียก API ต้องส่ง removeMetadata=true เอง ล้าง PDF ไม่แตะบุ๊กมาร์ก: ทั้งสองชื่อยังอยู่ ไม่มีเครื่องมือเว็บใดแก้บุ๊กมาร์กได้ การดำเนินการ API general/edit-table-of-contents แทนที่บุ๊กมาร์กจากรายการ JSON และต้องมีอย่างน้อยหนึ่งรายการ จึงล้างรายการให้ว่างไม่ได้ ในการทดสอบ มันยังทิ้งข้อความชื่อเก่าไว้ในไฟล์เป็นอ็อบเจกต์ที่ไม่มีการอ้างอิง ซึ่งมองไม่เห็นในโปรแกรมดูแต่ยังอ่านได้ในไบต์ดิบ อย่าพึ่งมันเพื่อซ่อนชื่อบุ๊กมาร์ก
ดังนั้นเมื่อหน้าที่ตัดทิ้งเป็นข้อมูลอ่อนไหว ให้เปิดผลลัพธ์ ดูแผงบุ๊กมาร์กและคุณสมบัติของเอกสาร แล้วส่งต่อเมื่อไม่มีสิ่งใดในนั้นเผยเนื้อหา หากชื่อบุ๊กมาร์กเองเป็นความลับ เส้นทางนี้ลบไม่ได้ หากต้องลบคำที่มองเห็นบนหน้าที่เก็บไว้ นั่นเป็นงานของ ทาบดำข้อความ ซึ่งอธิบายไว้ใน ก่อนแชร์
ข้อจำกัดและต้นทุน
- ทั้งสองเครื่องมือทำงานกับ PDF ครั้งละหนึ่งไฟล์และให้ PDF หนึ่งไฟล์ การตัดไฟล์เป็นหลายส่วนเป็นงานของ แยก PDF
- ผลลัพธ์เป็นไฟล์ใหม่ และต้นฉบับของคุณไม่ถูกแตะ เก็บต้นฉบับไว้ เพราะไฟล์ใหม่เอาหน้าที่ตัดทิ้งกลับคืนไม่ได้
- ไฟล์ที่เปิดไม่ได้เลยต้องใช้ ซ่อม PDF ก่อน ดู เปิดไฟล์ไม่ได้