mrdilaw commited on
Commit
3da2d8d
ยท
verified ยท
1 Parent(s): 6a7d286

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -27
app.py CHANGED
@@ -6,42 +6,41 @@ import os
6
  import uuid
7
  import traceback
8
 
9
- def pdf_to_word(pdf_file):
10
- if pdf_file is None:
11
- return "ูŠุฑุฌู‰ ุฑูุน ู…ู„ู PDF."
12
-
13
  try:
14
- pdf_path = f"{uuid.uuid4()}.pdf"
15
- docx_path = f"{uuid.uuid4()}.docx"
16
- with open(pdf_path, "wb") as f:
17
  f.write(pdf_file.read())
18
 
19
- # ูุชุญ PDF
20
- doc = fitz.open(pdf_path)
21
  document = Document()
22
-
23
- for page_number in range(len(doc)):
24
- page = doc.load_page(page_number)
25
  pix = page.get_pixmap(dpi=150)
26
- image_path = f"page_{page_number}.png"
27
- pix.save(image_path)
 
 
 
 
28
 
29
- document.add_paragraph(f"ุตูุญุฉ {page_number + 1}")
30
- document.add_picture(image_path, width=Inches(6))
31
- os.remove(image_path)
32
 
33
- document.save(docx_path)
34
- os.remove(pdf_path)
35
- return docx_path
36
 
37
  except Exception as e:
38
- return traceback.format_exc()
39
 
40
- # ู‡ุฐุง ู‡ูˆ ุงู„ุณุทุฑ ุงู„ู…ู‡ู…: ูŠุฌุจ ุฃู† ูŠูƒูˆู† ุงุณู… ุงู„ู…ุชุบูŠุฑ app
41
  app = gr.Interface(
42
- fn=pdf_to_word,
43
- inputs=gr.File(label="๐Ÿ“„ ุงุฑูุน ู…ู„ู PDF"),
44
- outputs=gr.File(label="๐Ÿ“ฅ ุชุญู…ูŠู„ Word ุงู„ู†ุงุชุฌ"),
45
- title="๐Ÿ“ ู…ุญูˆู„ PDF ุฅู„ู‰ Word (ุตูˆุฑูŠ)",
46
- description="ู‡ุฐุง ุงู„ู…ุญูˆู„ ูŠู‚ูˆู… ุจุชุญูˆูŠู„ ูƒู„ ุตูุญุฉ ููŠ PDF ุฅู„ู‰ ุตูˆุฑุฉ ุซู… ูŠุถุนู‡ุง ุฏุงุฎู„ ู…ู„ู Word."
47
  )
 
6
  import uuid
7
  import traceback
8
 
9
+ def convert_pdf_to_word(pdf_file):
 
 
 
10
  try:
11
+ # ุญูุธ ุงู„ู…ู„ู ุงู„ู…ุฑููˆุน
12
+ temp_pdf_path = f"{uuid.uuid4()}.pdf"
13
+ with open(temp_pdf_path, "wb") as f:
14
  f.write(pdf_file.read())
15
 
16
+ # ูุชุญ ู…ู„ู PDF
17
+ doc = fitz.open(temp_pdf_path)
18
  document = Document()
19
+
20
+ for i in range(len(doc)):
21
+ page = doc.load_page(i)
22
  pix = page.get_pixmap(dpi=150)
23
+ img_path = f"page_{i}.png"
24
+ pix.save(img_path)
25
+
26
+ document.add_paragraph(f"๐Ÿ“„ ุตูุญุฉ {i+1}")
27
+ document.add_picture(img_path, width=Inches(6))
28
+ os.remove(img_path)
29
 
30
+ # ุญูุธ ุงู„ู…ู„ู ุงู„ู†ู‡ุงุฆูŠ
31
+ output_path = f"{uuid.uuid4()}.docx"
32
+ document.save(output_path)
33
 
34
+ os.remove(temp_pdf_path)
35
+ return output_path
 
36
 
37
  except Exception as e:
38
+ return f"โŒ ุฎุทุฃ: \n{traceback.format_exc()}"
39
 
 
40
  app = gr.Interface(
41
+ fn=convert_pdf_to_word,
42
+ inputs=gr.File(label="๐Ÿ“ค ุงุฑูุน ู…ู„ู PDF", type="file"),
43
+ outputs=gr.File(label="๐Ÿ“ฅ ุชุญู…ูŠู„ Word"),
44
+ title="๐Ÿ” ู…ุญูˆู„ PDF ุฅู„ู‰ Word (ุจุงู„ุตูˆุฑ)",
45
+ description="ุญูˆู„ ุตูุญุงุช PDF ุฅู„ู‰ ุตูˆุฑ ูˆุงุฏู…ุฌู‡ุง ุชู„ู‚ุงุฆูŠู‹ุง ุฏุงุฎู„ ู…ุณุชู†ุฏ Word. ู…ู†ุงุณุจ ู„ู„ุนุฑุถ ูˆุงู„ุทุจุงุนุฉ."
46
  )