เปรียบเทียบไฟล์ PDF โดยใช้ REST API ใน Python

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

หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:

REST API เพื่อเปรียบเทียบไฟล์ PDF และ Python SDK

สำหรับการเปรียบเทียบเอกสาร PDF เราจะใช้ API ของ Python SDK of GroupDocs.Comparison Cloud ช่วยให้คุณสามารถเปรียบเทียบเอกสารสองฉบับขึ้นไปของ รูปแบบที่รองรับ และค้นหาความแตกต่าง โปรดติดตั้งโดยใช้คำสั่งต่อไปนี้ในคอนโซล:

pip install groupdocs_comparison_cloud

โปรด รับรหัสลูกค้าและข้อมูลลับจากแดชบอร์ด ก่อนทำตามขั้นตอนดังกล่าว เมื่อคุณมี ID และรหัสลับของคุณแล้ว ให้เพิ่มรหัสตามที่แสดงด้านล่าง:

# ตัวอย่างโค้ดนี้สาธิตวิธีตั้งค่ารหัสลูกค้าและข้อมูลลับ
client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

configuration = groupdocs_comparison_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

เปรียบเทียบไฟล์ PDF สองไฟล์โดยใช้ REST API ใน Python

เราสามารถเปรียบเทียบเอกสาร PDF บนคลาวด์ได้โดยทำตามขั้นตอนง่าย ๆ ด้านล่าง:

  1. อัปโหลด ไฟล์ PDF ไปยังคลาวด์
  2. เปรียบเทียบไฟล์ PDF
  3. ดาวน์โหลด ไฟล์ PDF ผลลัพธ์

อัปโหลดไฟล์ PDF

ประการแรก เราจะอัปโหลดไฟล์ PDF ต้นทางและเป้าหมายไปยังคลาวด์โดยใช้ตัวอย่างโค้ดต่อไปนี้:

# ตัวอย่างโค้ดนี้สาธิตวิธีอัปโหลดไฟล์ PDF ไปยังระบบคลาวด์
# สร้างอินสแตนซ์ของ API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# อัปโหลดไฟล์ตัวอย่าง
for filename in glob.iglob("C:\\Files\\*.pdf", recursive=True):
    destFile = filename.replace("C:\\Files\\", "", 1)            
    file_api.upload_file(groupdocs_comparison_cloud.UploadFileRequest(destFile, filename))
    print("Uploaded file: "+ destFile)

ด้วยเหตุนี้ ไฟล์ที่อัปโหลดจะอยู่ใน ส่วนไฟล์ ของแดชบอร์ดบนระบบคลาวด์

เปรียบเทียบไฟล์ PDF โดยใช้ Python

เราสามารถเปรียบเทียบเอกสาร PDF สองรายการโดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:

  • ขั้นแรก สร้างอินสแตนซ์ของ CompareApi
  • จากนั้น สร้างอินสแตนซ์ของ FileInfo
  • จากนั้นตั้งค่าเส้นทางไฟล์ PDF ต้นทาง
  • หลังจากนั้น สร้างอินสแตนซ์อื่นของ FileInfo
  • จากนั้นกำหนดเส้นทางไฟล์ PDF เป้าหมาย
  • จากนั้น สร้างอินสแตนซ์ของ ComparisonOptions
  • จากนั้นกำหนดไฟล์ต้นทางและเป้าหมาย
  • ตั้งค่าเส้นทางไฟล์เอาต์พุตด้วย
  • หลังจากนั้น สร้างอินสแตนซ์ของ ComparisonsRequest ด้วย ComparisonOptions
  • สุดท้าย รับผลลัพธ์โดยเรียกเมธอด CompareApi.comparisons() โดยมี ComparisonsRequest เป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเปรียบเทียบไฟล์ PDF สองไฟล์โดยใช้ REST API ใน Python

# ตัวอย่างโค้ดนี้สาธิตวิธีการเปรียบเทียบไฟล์ PDF สองไฟล์
# สร้างอินสแตนซ์ของ API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# ไฟล์ต้นฉบับอินพุต
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# ไฟล์เป้าหมาย
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# กำหนดตัวเลือกการเปรียบเทียบ
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# สร้างคำขอเปรียบเทียบ
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# เปรียบเทียบ
response = api_instance.comparisons(request)
เปรียบเทียบไฟล์ PDF สองไฟล์โดยใช้ REST API ใน Python

เปรียบเทียบไฟล์ PDF สองไฟล์โดยใช้ REST API ใน Python

ไฟล์ PDF ที่เป็นผลลัพธ์ยังมีหน้าสรุปที่ส่วนท้ายของเอกสาร ดังที่แสดงด้านล่าง:

หน้าสรุป

หน้าสรุปแสดงองค์ประกอบที่ถูกลบหรือแทรกทั้งหมด

ดาวน์โหลดไฟล์ผลลัพธ์

ตัวอย่างโค้ดด้านบนจะบันทึกความแตกต่างในไฟล์ PDF ที่สร้างขึ้นใหม่บนคลาวด์ สามารถดาวน์โหลดได้โดยใช้ตัวอย่างโค้ดต่อไปนี้:

# ตัวอย่างรหัสนี้สาธิตวิธีการดาวน์โหลดไฟล์ผลลัพธ์
# สร้างอินสแตนซ์ของ API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# สร้างคำขอดาวน์โหลดไฟล์
request = groupdocs_comparison_cloud.DownloadFileRequest("result.pdf", my_storage)

# ดาวน์โหลดไฟล์
response = file_api.download_file(request)

# ย้ายไฟล์ที่ดาวน์โหลดไปยังไดเร็กทอรีการทำงานของคุณ
shutil.move(response, "C:\\Files\\") 

เปรียบเทียบไฟล์ PDF หลายไฟล์ใน Python

เราสามารถเปรียบเทียบเอกสาร PDF หลายรายการโดยทำตามขั้นตอนด้านล่าง:

  • ขั้นแรก สร้างอินสแตนซ์ของ CompareApi
  • จากนั้น สร้างอินสแตนซ์ของ FileInfo และตั้งค่าเส้นทางไฟล์ PDF ต้นทาง
  • จากนั้น สร้างอินสแตนซ์อื่นของ FileInfo และกำหนดเส้นทางไฟล์ PDF เป้าหมาย
  • หลังจากนั้น ทำซ้ำขั้นตอนด้านบนเพื่อเพิ่มไฟล์เป้าหมายเพิ่มเติม
  • จากนั้น สร้างอินสแตนซ์ของ ComparisonOptions
  • จากนั้น กำหนดไฟล์ต้นทาง/เป้าหมาย และกำหนดพาธไฟล์เอาต์พุต
  • หลังจากนั้น สร้างอินสแตนซ์ของ ComparisonsRequest ด้วย ComparisonOptions
  • สุดท้าย รับผลลัพธ์โดยเรียกเมธอด CompareApi.comparisons() โดยมี ComparisonsRequest เป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเปรียบเทียบไฟล์ PDF หลายไฟล์โดยใช้ REST API ใน Python

# ตัวอย่างโค้ดนี้สาธิตวิธีการเปรียบเทียบไฟล์ PDF หลายไฟล์
# สร้างอินสแตนซ์ API ที่จำเป็น
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# ที่มา PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# เป้าหมาย PDF 1
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.pdf"

# กำหนดเป้าหมาย PDF 2
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.pdf"

# กำหนดตัวเลือกการเปรียบเทียบ
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "result.pdf"

# สร้างคำขอเปรียบเทียบและเปรียบเทียบ
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)

ปรับแต่งผลลัพธ์การเปรียบเทียบใน Python

เราสามารถปรับแต่งรูปแบบของการเปลี่ยนแปลงที่พบในผลลัพธ์ของกระบวนการเปรียบเทียบโดยทำตามขั้นตอนด้านล่าง:

  • ขั้นแรก สร้างอินสแตนซ์ของ CompareApi
  • จากนั้น สร้างอินสแตนซ์ของ FileInfo และตั้งค่าเส้นทางไฟล์ PDF ต้นทาง
  • จากนั้น สร้างอินสแตนซ์อื่นของ FileInfo และกำหนดเส้นทางไฟล์ PDF เป้าหมาย
  • จากนั้น สร้างอินสแตนซ์ของการตั้งค่า
  • จากนั้นตั้งค่าเปรียบเทียบความไวและคุณสมบัติต่างๆ เพื่อปรับแต่งรูปแบบรายการ
  • จากนั้น สร้างอินสแตนซ์ของ ComparisonOptions
  • จากนั้น กำหนดไฟล์ต้นทาง/เป้าหมาย และกำหนดพาธไฟล์เอาต์พุต
  • หลังจากนั้น สร้างอินสแตนซ์ของ ComparisonsRequest ด้วย ComparisonOptions
  • สุดท้าย รับผลลัพธ์โดยเรียกเมธอด CompareApi.comparisons() กับ ComparisonsRequest เป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีปรับแต่งผลการเปรียบเทียบโดยใช้ REST API ใน Python

# ตัวอย่างโค้ดนี้สาธิตวิธีปรับแต่งผลการเปรียบเทียบ
# สร้างอินสแตนซ์ API ที่จำเป็น
api_instance = groupdocs_comparison_cloud.เปรียบเทียบApi.from_keys(client_id, client_secret)

# ที่มา PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# PDF เป้าหมาย
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

settings = groupdocs_comparison_cloud.Settings()

# เปรียบเทียบความไว
settings.sensitivity_of_comparison = 100

# ปรับแต่งสไตล์สำหรับการเปลี่ยนแปลง
settings.inserted_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.inserted_items_style.highlight_color = "14297642"
settings.inserted_items_style.font_color = "16711680"
settings.inserted_items_style.underline = True
settings.deleted_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.deleted_items_style.font_color = "14166746"
settings.deleted_items_style.bold = True
settings.changed_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.changed_items_style.font_color = "14320170"
settings.changed_items_style.italic = True

# กำหนดตัวเลือกการเปรียบเทียบ
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# สร้างคำขอเปรียบเทียบ
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# เปรียบเทียบ
response = api_instance.comparisons(request)

รับรายการการเปลี่ยนแปลงใน Python

เราสามารถรับรายการการเปลี่ยนแปลงทั้งหมดที่พบระหว่างการเปรียบเทียบไฟล์ PDF โดยทำตามขั้นตอนด้านล่าง:

  • ขั้นแรก สร้างอินสแตนซ์ของ CompareApi
  • จากนั้น สร้างอินสแตนซ์ของ FileInfo และตั้งค่าเส้นทางไฟล์ PDF ต้นทาง
  • จากนั้น สร้างอินสแตนซ์อื่นของ FileInfo และกำหนดเส้นทางไฟล์ PDF เป้าหมาย
  • จากนั้น สร้างอินสแตนซ์ของ ComparisonOptions
  • จากนั้น กำหนดไฟล์ต้นทาง/เป้าหมาย และกำหนดพาธไฟล์เอาต์พุต
  • หลังจากนั้น สร้างอินสแตนซ์ของวัตถุ PostChangesRequest ด้วย ComparisonOptions
  • สุดท้าย รับผลลัพธ์โดยเรียกเมธอด CompareApi.post\changes() กับ ComparisonsRequest เป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีรับรายการการเปลี่ยนแปลงโดยใช้ REST API ใน Python

# ตัวอย่างโค้ดนี้แสดงวิธีรับรายการการเปลี่ยนแปลงทั้งหมด
# สร้างอินสแตนซ์ API ที่จำเป็น
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# ที่มา PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# PDF เป้าหมาย
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# กำหนดตัวเลือกการเปรียบเทียบ
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# สร้างคำขอเปลี่ยนแปลงโพสต์
request = groupdocs_comparison_cloud.PostChangesRequest(options)
# โพสต์การเปลี่ยนแปลง
response = api_instance.post_changes(request)

# แสดงการเปลี่ยนแปลง
for change in response:
  print("Change # " + str(change.id + 1) + "- Target Text: " + str(change.target_text) + ", Text: " + str(change.text) + ", Type: " + str(change.type));
รับรายการการเปลี่ยนแปลงใน Python

รับรายการการเปลี่ยนแปลงใน Python

เปรียบเทียบและบันทึกด้วยรหัสผ่านและข้อมูลเมตาใน Python

เราสามารถป้องกันไฟล์ผลลัพธ์ด้วยรหัสผ่านและบันทึกด้วยข้อมูลเมตาโดยทำตามขั้นตอนด้านล่าง:

  • ขั้นแรก สร้างอินสแตนซ์ของ CompareApi
  • จากนั้น สร้างอินสแตนซ์ของ FileInfo และตั้งค่าเส้นทางไฟล์ PDF ต้นทาง
  • จากนั้น สร้างอินสแตนซ์อื่นของ FileInfo และกำหนดเส้นทางไฟล์ PDF เป้าหมาย
  • จากนั้น สร้างอินสแตนซ์ของการตั้งค่า
  • จากนั้น สร้างอินสแตนซ์ของข้อมูลเมตา
  • หลังจากนั้น ให้ตั้งค่าคุณสมบัติเมทาดาทาต่างๆ เช่น ผู้เขียน บริษัท สุดท้าย\บันทึก\โดย ฯลฯ
  • จากนั้น ตั้งรหัสผ่านและรหัสผ่าน\บันทึก\ตัวเลือก
  • จากนั้น สร้างอินสแตนซ์ของ ComparisonOptions
  • จากนั้น กำหนดไฟล์ต้นทาง/เป้าหมาย และกำหนดพาธไฟล์เอาต์พุต
  • หลังจากนั้น สร้างอินสแตนซ์ของ ComparisonsRequest ด้วย ComparisonOptions
  • สุดท้าย รับผลลัพธ์โดยเรียกเมธอด CompareApi.comparisons() กับ ComparisonsRequest เป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีบันทึกไฟล์ผลลัพธ์ด้วยรหัสผ่านและข้อมูลเมตาโดยใช้ REST API ใน Python

# ตัวอย่างรหัสนี้สาธิตวิธีการบันทึกไฟล์ผลลัพธ์ด้วยรหัสผ่านและข้อมูลเมตา
# สร้างอินสแตนซ์ API ที่จำเป็น
api_instance = groupdocs_comparison_cloud.เปรียบเทียบApi.from_keys(client_id, client_secret)

# ที่มา PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# PDF เป้าหมาย
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

settings = groupdocs_comparison_cloud.Settings()
# ตั้งค่าข้อมูลเมตา
settings.meta_data = groupdocs_comparison_cloud.Metadata()
settings.meta_data.author = "Tom"
settings.meta_data.company = "GroupDocs"
settings.meta_data.last_save_by = "Jack"

#Set password
settings.password_save_option = "User"
settings.password = "password"

# กำหนดตัวเลือกการเปรียบเทียบ
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# สร้างคำขอเปรียบเทียบ
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# เปรียบเทียบ
response = api_instance.comparisons(request)

ลองออนไลน์

โปรดลองใช้เครื่องมือเปรียบเทียบ PDF ออนไลน์ฟรีต่อไปนี้ ซึ่งพัฒนาโดยใช้ API ข้างต้น https://products.groupdocs.app/comparison/pdf

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีเปรียบเทียบเอกสาร PDF บนคลาวด์ เราได้เห็นวิธีเปรียบเทียบไฟล์ PDF หลายไฟล์ ปรับแต่งรูปแบบการเปลี่ยนแปลง และรับรายการการเปลี่ยนแปลงใน Python บทความนี้ยังอธิบายวิธีการอัปโหลดไฟล์ PDF หลายไฟล์ไปยังระบบคลาวด์โดยทางโปรแกรม จากนั้นดาวน์โหลดไฟล์ผลลัพธ์จากระบบคลาวด์ นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Comparison Cloud API โดยใช้ เอกสารประกอบ เรายังมีส่วน API Reference ที่ช่วยให้คุณแสดงภาพและโต้ตอบกับ API ของเราได้โดยตรงผ่านเบราว์เซอร์ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม

ดูสิ่งนี้ด้วย