Views
No views yet
1prompt = """Extract the following metadata from this architectural drawing:
2 - drawing_title (datatype: string)
3 - drawing_number (datatype: string)
4 - revision_history (datatype: list of dictionaries)
5 - revision_id (datatype: string)
6 - revision_description (datatype: string)
7 - revision_date (datatype: string)
8
9 Here's an example of the output format:
10 {
11 "drawing_title": "Electrical Floor Plan",
12 "drawing_number": "E101",
13 "revision_history": [
14 {
15 "revision_id": "1",
16 "revision_description": "Revised drawing",
17 "revision_date": "2024-01-01"
18 },
19 {
20 "revision_id": "",
21 "revision_description": "Bid Set",
22 "revision_date": "2024/09/21"
23 },
24 {
25 "revision_id": "P3",
26 "revision_description": "NOT FOR CONSTRUCTION",
27 "revision_date": "10.20.24"
28 },
29 ]
30 }
31
32 The output must follow this format exactly. If you are unsure of a value, leave it blank.
33 """
34
35def pdf_to_images(pdf_path, page_number, zoom=4.0):
36 """Convert a PDF page to an image."""
37 doc = pymupdf.open(pdf_path)
38 if page_number >= doc.page_count:
39 print(f"Page {page_number} not found in {pdf_path}")
40 return None
41 page = doc.load_page(page_number)
42 mat = pymupdf.Matrix(zoom, zoom)
43 pix = page.get_pixmap(matrix=mat)
44 img = Image.frombytes("RGB", [pix.width, pix.height], pix.samples)
45 doc.close()
46 return img
47