20 lines
896 B
Python
Executable File
20 lines
896 B
Python
Executable File
import argparse
|
|
import fitz
|
|
|
|
def extract_pages(input_pdf_path, output_pdf_path, start, end):
|
|
doc = fitz.open(input_pdf_path)
|
|
doc2 = fitz.open()
|
|
doc2.insert_pdf(doc, from_page=start-1, to_page=end-1) # pages 0 to 9 (10 pages total)
|
|
doc2.save(output_pdf_path, garbage=4, deflate=True, deflate_images=True, deflate_fonts=True)
|
|
doc2.close()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
parser = argparse.ArgumentParser(description="Extracts pages from a PDF")
|
|
parser.add_argument("input_pdf", help="Path to the source PDF file.")
|
|
parser.add_argument("output_pdf", help="Path to the destination PDF file.")
|
|
parser.add_argument("start", help="Page number of first page to extract", type=int)
|
|
parser.add_argument("end", help="Page number of last page to extract", type=int)
|
|
args = parser.parse_args()
|
|
extract_pages(args.input_pdf, args.output_pdf, args.start, args.end)
|