{"library":"rpaframework-pdf","title":"RPA Framework PDF Library","description":"RPA Framework PDF Library (`rpaframework-pdf`) is a Python library for managing PDF documents. It provides functionalities such as extracting text, adding watermarks, encrypting/decrypting documents, and merging/splitting PDFs. It is part of the broader RPA Framework, an actively maintained collection of open-source libraries for Robotic Process Automation (RPA), designed for both Robot Framework and Python. The current version is 10.0.3, released on March 6, 2026.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install rpaframework-pdf"],"cli":null},"imports":["from RPA.PDF import PDF"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom fpdf import FPDF\nfrom RPA.PDF import PDF\n\ndef create_dummy_pdf(filename):\n    pdf = FPDF()\n    pdf.add_page()\n    pdf.set_font(\"Arial\", size=12)\n    pdf.cell(200, 10, txt=\"Hello from RPA Framework!\", ln=True, align=\"C\")\n    pdf.cell(200, 10, txt=\"This is a test document.\", ln=True, align=\"L\")\n    pdf.output(filename)\n\n\ndef main():\n    input_pdf = \"test_document.pdf\"\n    output_pdf = \"extracted_text.txt\"\n\n    # Create a dummy PDF for demonstration\n    create_dummy_pdf(input_pdf)\n    print(f\"Created: {input_pdf}\")\n\n    pdf_lib = PDF()\n\n    # Example 1: Get text from PDF\n    print(f\"\\nExtracting text from {input_pdf}...\")\n    text_data = pdf_lib.get_text_from_pdf(input_pdf)\n    # text_data is a dictionary where keys are page numbers (1-indexed)\n    extracted_text = \"\\n\".join(text_data.get(1, [])) # Get text from the first page\n\n    with open(output_pdf, \"w\") as f:\n        f.write(extracted_text)\n    print(f\"Extracted text saved to {output_pdf}:\")\n    print(extracted_text)\n\n    # Clean up dummy files\n    os.remove(input_pdf)\n    os.remove(output_pdf)\n    print(\"\\nCleaned up dummy files.\")\n\nif __name__ == \"__main__\":\n    # Requires 'fpdf2' to create the dummy PDF for this quickstart\n    # pip install rpaframework-pdf fpdf2\n    main()","lang":"python","description":"This quickstart demonstrates how to use `rpaframework-pdf` to extract text from a PDF. It first creates a simple PDF file using `fpdf2` (which needs to be installed separately) and then uses `RPA.PDF`'s `get_text_from_pdf` keyword to read its content. The extracted text is then printed and saved to a text file. Finally, it cleans up the created files.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"10.0.3","pypi_latest":"11.0.0","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":8.6,"avg_import_s":3.35,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"rpaframework-pdf","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":4.84,"mem_mb":39.8,"disk_size":"145.7M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"rpaframework-pdf","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":8.7,"import_time_s":5.65,"mem_mb":39.8,"disk_size":"150M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"rpaframework-pdf","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":3.27,"mem_mb":45.5,"disk_size":"156.3M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"rpaframework-pdf","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":8.4,"import_time_s":3,"mem_mb":45.5,"disk_size":"160M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"rpaframework-pdf","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":3.32,"mem_mb":44.3,"disk_size":"145.3M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"rpaframework-pdf","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":8,"import_time_s":3.27,"mem_mb":44.3,"disk_size":"149M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"rpaframework-pdf","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":3.02,"mem_mb":45.9,"disk_size":"145.1M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"rpaframework-pdf","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":7.9,"import_time_s":3.06,"mem_mb":45.9,"disk_size":"149M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"rpaframework-pdf","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":2.25,"mem_mb":39.1,"disk_size":"137.6M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"rpaframework-pdf","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":9.8,"import_time_s":1.79,"mem_mb":39.1,"disk_size":"141M"}]}}