דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. קטגוריות בהרצה
  3. תכנות
  4. Python
  5. עזרה הדדית - Python
  6. בקשת עזרה תוכנה למיון ספרים!

בקשת עזרה תוכנה למיון ספרים!

מתוזמן נעוץ נעול הועבר עזרה הדדית - Python
38 פוסטים 7 כותבים 1.6k צפיות 7 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • mefateachM mefateach

    לא ממומלץ ocr זה הרבה יותר מורכב מאשר רק לזהות אם תמונה מסוימת קיימת בטוח יש מודולים שמזהים את זה תגגל

    א מנותק
    א מנותק
    אלף שין
    כתב נערך לאחרונה על ידי
    #15

    @mefateach
    הלוואי.

    תגובה 1 תגובה אחרונה
    0
    • א אלף שין

      @sivan22 כתב בשיתוף | שיתוף ובקשת עזרה, תוכנה למיון ספרים!:

      אבל אני מאמין שתוכל עם ספריה כמו PDFPY2 למצוא אם יש תיבת טקסט, כמו שהצעת, וזה יותר פשוט.

      ניסיתי קרוב ל40 פעם [עם כל מיני שינויים ותיקונים כל פעם] ולא הצלחתי.

      @sivan22 כתב בשיתוף | שיתוף ובקשת עזרה, תוכנה למיון ספרים!:

      בשביל OCR תוכל להשתמש בtesseract

      אפשר להוריד באמצעות PIP?

      יום חדש מתחילי מנותק
      יום חדש מתחילי מנותק
      יום חדש מתחיל
      כתב נערך לאחרונה על ידי
      #16

      @אלף-שין כתב בשיתוף | שיתוף ובקשת עזרה, תוכנה למיון ספרים!:

      ניסיתי קרוב ל40 פעם [עם כל מיני שינויים ותיקונים כל פעם] ולא הצלחתי.

      אני מאמין שהוא התכוין לזה:

      pip install PyPDF2
      
      א תגובה 1 תגובה אחרונה
      0
      • יום חדש מתחילי יום חדש מתחיל

        @אלף-שין כתב בשיתוף | שיתוף ובקשת עזרה, תוכנה למיון ספרים!:

        ניסיתי קרוב ל40 פעם [עם כל מיני שינויים ותיקונים כל פעם] ולא הצלחתי.

        אני מאמין שהוא התכוין לזה:

        pip install PyPDF2
        
        א מנותק
        א מנותק
        אלף שין
        כתב נערך לאחרונה על ידי אלף שין
        #17

        @יום-חדש-מתחיל
        הספריה הזאת PyPDF2 לא מזהה,
        בדקתי בעשרות הגדרות שניסיתי.

        יום חדש מתחילי 2 תגובות תגובה אחרונה
        0
        • mefateachM mefateach

          @אלף-שין תגגל על tensorflow
          אבל:
          @sivan22 כתב בשיתוף | שיתוף ובקשת עזרה, תוכנה למיון ספרים!:

          למה לא להשתמש פשוט בשם הקובץ? קבצים שיורדים מהיברובוקס מתחילים במילה hebrewbooks.

          @אלף-שין

          א מנותק
          א מנותק
          אלף שין
          כתב נערך לאחרונה על ידי
          #18

          @mefateach כתב בשיתוף | שיתוף ובקשת עזרה, תוכנה למיון ספרים!:

          @אלף-שין תגגל על tensorflow

          לא, זה מדאי כבד לי,
          אני צריך בסך הכל שיהיה חע סקריפט שעובד על קבצי הPDF
          שהשקריפט לא זיהה בהם בעמוד הראשון את התו W,
          במקרה כזה הסקריפט יעשה OCR לעמוד הראשון בלבד,
          ואז יחפש אם יש את התו W.

          תגובה 1 תגובה אחרונה
          0
          • א אלף שין

            @יום-חדש-מתחיל
            הספריה הזאת PyPDF2 לא מזהה,
            בדקתי בעשרות הגדרות שניסיתי.

            יום חדש מתחילי מנותק
            יום חדש מתחילי מנותק
            יום חדש מתחיל
            כתב נערך לאחרונה על ידי
            #19
            פוסט זה נמחק!
            תגובה 1 תגובה אחרונה
            0
            • א אלף שין

              @יום-חדש-מתחיל
              הספריה הזאת PyPDF2 לא מזהה,
              בדקתי בעשרות הגדרות שניסיתי.

              יום חדש מתחילי מנותק
              יום חדש מתחילי מנותק
              יום חדש מתחיל
              כתב נערך לאחרונה על ידי יום חדש מתחיל
              #20

              @אלף-שין כתב בשיתוף | שיתוף ובקשת עזרה, תוכנה למיון ספרים!:

              הספריה הזאת PyPDF2 לא מזהה

              https://pypi.org/project/PyPDF2/

              pip install PyPDF2
              

              עריכה: עכשיו אני רואה שהסקריפט שכתבת למעלה גם משתמש בספרי' הזו...

              תגובה 1 תגובה אחרונה
              0
              • א אלף שין

                שלום רב
                לאחר עבודה הנני שמח לבשר על תחילתו של סקריפט למיון ספרים במחשב,
                המטרה היא שמי שהוריד הרבה ספרים מהיברו-בוקס יוכל למיין אותם בקלות ואוטומטית לתיקייה ייעודית,

                לכן כתבתי בס"ד סקריפט שבודק אם בעמוד הראשון או השני בקובץ מופיע W [הקישור לאתר שלהם]
                ואם אכן מוצא תו זה הוא מעביר מיד את הקובץ לתיקייה שנבחרה,
                להלן הסקריפט:

                import os
                import tkinter as tk
                from tkinter import filedialog
                import PyPDF2
                import re
                import shutil
                import threading
                from queue import Queue
                from pdfminer.high_level import extract_pages
                from pdfminer.layout import LAParams, LTTextBox, LTTextContainer
                
                class PDF_Sorter:
                    def __init__(self, root):
                        self.root = root
                        self.root.title("PDF Sorter")
                        self.create_gui()
                
                    def create_gui(self):
                        self.source_folder = tk.StringVar()
                        self.dest_folder = tk.StringVar()
                
                        frame = tk.Frame(self.root)
                        frame.pack(fill="both", expand=True)
                
                        tk.Label(frame, text="Source Folder:").pack()
                        self.source_folder_entry = tk.Entry(frame, textvariable=self.source_folder, width=50)
                        self.source_folder_entry.pack()
                
                        tk.Button(frame, text="Browse", command=self.browse_source_folder).pack(side=tk.LEFT, padx=5, pady=5)
                
                        tk.Label(frame, text="Destination Folder:").pack()
                        self.dest_folder_entry = tk.Entry(frame, textvariable=self.dest_folder, width=50)
                        self.dest_folder_entry.pack()
                
                        tk.Button(frame, text="Browse", command=self.browse_dest_folder).pack(side=tk.LEFT, padx=5, pady=5)
                
                        tk.Button(frame, text="Start", command=self.sort_pdfs).pack(padx=5, pady=5)
                
                    def browse_source_folder(self):
                        self.source_folder.set(filedialog.askdirectory())
                
                    def browse_dest_folder(self):
                        self.dest_folder.set(filedialog.askdirectory())
                
                    def sort_pdfs(self):
                        self.queue = Queue()
                        for root, dirs, files in os.walk(self.source_folder.get()):
                            for file in files:
                                if file.endswith('.pdf'):
                                    file_path = os.path.join(root, file)
                                    self.queue.put((file_path, self.dest_folder.get()))
                
                        self.worker_thread = threading.Thread(target=self.process_queued_pdfs)
                        self.worker_thread.start()
                        self.root.after(1000, self.worker_thread.join)
                        print("PDF sorting complete")
                
                    def process_queued_pdfs(self):
                        while not self.queue.empty():
                            file_path, dest_folder = self.queue.get()
                            try:
                                with open(file_path, 'rb') as pdf_file:
                                    pdf_reader = PyPDF2.PdfReader(pdf_file)
                                    for i in range(min(2, len(pdf_reader.pages))):
                                        text = pdf_reader.pages[i].extract_text()
                                        if re.search(r'w|W', text, re.IGNORECASE) or re.search(r'\\\[]', text):
                                            shutil.copy(file_path, os.path.join(dest_folder, os.path.basename(file_path)))
                                            break
                            except Exception as e:
                                print(f"Error processing {file_path}: {e}")
                
                if __name__ == "__main__":
                    root = tk.Tk()
                    pdf_sorter = PDF_Sorter(root)
                    root.mainloop()
                

                הבעיה היא שכ50% מהספרים של היברו בוקס,
                הסימן מים שלהם מופיע לא כמלל רגיל, אלא כמלל בתוך תיבת טקסט,
                164be501-36ac-4c06-ac80-266de3d3fc99-image.png
                ולא הצלחתי עד כה למצוא ספרייה שתצליח לזהות את המלל,
                לכן אני מבקש עזרה מכל המומחים פה מי שיכול לעזור תע"ב,
                נ"ב: אפשר גם לעשות סקריפט שרק יזהה אם קיים תיבת טקסט, ואם כן יעביר,
                לא משנה מה כתוב בה, כי רק בספרים שלהם יש תיבת טקסט בעמוד הראשון....

                @אביי @האדם-החושב @תכנות

                עריכה:
                בפוסט האחרון עדכנתי את הסקריפט, מי שרוצה יכול לדלג לשם,
                הוא ממין בצורה יסודית,
                רק אני מבקש עזרה ממי שיכול לקמפל אתו.

                yzahnY מנותק
                yzahnY מנותק
                yzahn
                עימוד
                כתב נערך לאחרונה על ידי yzahn
                #21

                @אלף-שין

                from pypdf import PdfReader
                
                def is_hebrew_books(file):
                    reader = PdfReader(file)
                    annotations = reader.pages[0].annotations
                    for annotation in annotations:
                        if annotation.get("/Subtype") == "/Link" and annotation.get("/A").get("/URI") == "http://www.hebrewbooks.org":
                            return True
                    return False
                

                נ.ב. בדקתי רק על שני קבצים

                📧 | יוסי@יצ.קום

                א תגובה 1 תגובה אחרונה
                2
                • yzahnY yzahn

                  @אלף-שין

                  from pypdf import PdfReader
                  
                  def is_hebrew_books(file):
                      reader = PdfReader(file)
                      annotations = reader.pages[0].annotations
                      for annotation in annotations:
                          if annotation.get("/Subtype") == "/Link" and annotation.get("/A").get("/URI") == "http://www.hebrewbooks.org":
                              return True
                      return False
                  

                  נ.ב. בדקתי רק על שני קבצים

                  א מנותק
                  א מנותק
                  אלף שין
                  כתב נערך לאחרונה על ידי אלף שין
                  #22

                  @yzahn
                  כנראה התכוונת לזה:

                  from PyPDF2 import PdfReader
                  
                  def is_hebrew_books(file):
                      reader = PdfReader(file)
                      try:
                          annotations = reader.getOutlines()
                      except:
                          return False
                  
                      for item in annotations:
                          if isinstance(item, dict):
                              if item.get('/URI', '').startswith('http://www.hebrewbooks.org'):
                                  return True
                  
                      return False
                  
                  # Example usage:
                  file_path = 'path_to_your_file.pdf'  # replace with your file path
                  result = is_hebrew_books(file_path)
                  
                  if result:
                      print("The PDF is a Hebrew book.")
                  else:
                      print("The PDF is not a Hebrew book.")
                  

                  אבל זה לא זיהה לי...
                  צריך ספריית PDF מתקדמת יותר...

                  yzahnY תגובה 1 תגובה אחרונה
                  0
                  • א אלף שין

                    @yzahn
                    כנראה התכוונת לזה:

                    from PyPDF2 import PdfReader
                    
                    def is_hebrew_books(file):
                        reader = PdfReader(file)
                        try:
                            annotations = reader.getOutlines()
                        except:
                            return False
                    
                        for item in annotations:
                            if isinstance(item, dict):
                                if item.get('/URI', '').startswith('http://www.hebrewbooks.org'):
                                    return True
                    
                        return False
                    
                    # Example usage:
                    file_path = 'path_to_your_file.pdf'  # replace with your file path
                    result = is_hebrew_books(file_path)
                    
                    if result:
                        print("The PDF is a Hebrew book.")
                    else:
                        print("The PDF is not a Hebrew book.")
                    

                    אבל זה לא זיהה לי...
                    צריך ספריית PDF מתקדמת יותר...

                    yzahnY מנותק
                    yzahnY מנותק
                    yzahn
                    עימוד
                    כתב נערך לאחרונה על ידי yzahn
                    #23

                    @אלף-שין השתמשתי בגירסה האחרונה של pypdf (בלי 2) זה אוחז כבר ב-4
                    לא בדקתי מה המקביל ב-2

                    📧 | יוסי@יצ.קום

                    א תגובה 1 תגובה אחרונה
                    0
                    • yzahnY yzahn

                      @אלף-שין השתמשתי בגירסה האחרונה של pypdf (בלי 2) זה אוחז כבר ב-4
                      לא בדקתי מה המקביל ב-2

                      א מנותק
                      א מנותק
                      אלף שין
                      כתב נערך לאחרונה על ידי
                      #24

                      @yzahn
                      אה..
                      חבל שלא ידעתי...
                      כי לא הבנתי למה יש כל הזמן שגיאות...
                      סידרתי רק באדיבות GPT כלשהוא....
                      עכ"פ אשמח דווקא לקבל עזרה אבל צריך סקריפט שיסרוק ב3 שלבים:
                      1] האם מופיע תו W בעמוד הראשון- אם כן מעביר, אם לא עובר לשלב 2,
                      2] האם נמצא בעמוד הראשון תיבת טקסט [אם כן בטוח יש בתוכה W] אם כן מעביר, אם לא עובר לשלב 3,
                      3] מעביר את העמוד הראשון OCR, ובודק שוב האם נמצא תו W.

                      yzahnY 2 תגובות תגובה אחרונה
                      0
                      • א אלף שין

                        @yzahn
                        אה..
                        חבל שלא ידעתי...
                        כי לא הבנתי למה יש כל הזמן שגיאות...
                        סידרתי רק באדיבות GPT כלשהוא....
                        עכ"פ אשמח דווקא לקבל עזרה אבל צריך סקריפט שיסרוק ב3 שלבים:
                        1] האם מופיע תו W בעמוד הראשון- אם כן מעביר, אם לא עובר לשלב 2,
                        2] האם נמצא בעמוד הראשון תיבת טקסט [אם כן בטוח יש בתוכה W] אם כן מעביר, אם לא עובר לשלב 3,
                        3] מעביר את העמוד הראשון OCR, ובודק שוב האם נמצא תו W.

                        yzahnY מנותק
                        yzahnY מנותק
                        yzahn
                        עימוד
                        כתב נערך לאחרונה על ידי yzahn
                        #25

                        @אלף-שין כתב בשיתוף | שיתוף ובקשת עזרה, תוכנה למיון ספרים!:

                        אבל צריך סקריפט שיסרוק ב3 שלבים

                        למה החלטת ככה? מה לא טוב עם הפונקציה שלי? (תביא דוגמאות של קבצים שזה לא עובד עליהם ואנסה לתקן)

                        האם נמצא בעמוד הראשון תיבת טקסט

                        תוכל להגדיר בשפה יותר טכנית/מדוייקת מה זה תיבת טקסט? כי המושג "תיבת טקסט" לא קיים ב-PDF

                        📧 | יוסי@יצ.קום

                        א תגובה 1 תגובה אחרונה
                        0
                        • א אלף שין

                          @yzahn
                          אה..
                          חבל שלא ידעתי...
                          כי לא הבנתי למה יש כל הזמן שגיאות...
                          סידרתי רק באדיבות GPT כלשהוא....
                          עכ"פ אשמח דווקא לקבל עזרה אבל צריך סקריפט שיסרוק ב3 שלבים:
                          1] האם מופיע תו W בעמוד הראשון- אם כן מעביר, אם לא עובר לשלב 2,
                          2] האם נמצא בעמוד הראשון תיבת טקסט [אם כן בטוח יש בתוכה W] אם כן מעביר, אם לא עובר לשלב 3,
                          3] מעביר את העמוד הראשון OCR, ובודק שוב האם נמצא תו W.

                          yzahnY מנותק
                          yzahnY מנותק
                          yzahn
                          עימוד
                          כתב נערך לאחרונה על ידי
                          #26

                          @אלף-שין כתב בשיתוף | שיתוף ובקשת עזרה, תוכנה למיון ספרים!:

                          באדיבות GPT כלשהוא

                          הוא טעה בגדול, אין קשר בין הקוד שהוא פלט לקוד שלי
                          הנה התיקון עבור PyPDF2

                          from PyPDF2 import PdfReader
                          
                          def is_hebrew_books(file):
                              reader = PdfReader(file)
                              annotations = reader.pages[0].annotations
                              for annotation in annotations:
                                  if annotation.get_object().get("/Subtype") == "/Link" and annotation.get_object().get("/A").get("/URI") == "http://www.hebrewbooks.org":
                                      return True
                              return False
                          

                          📧 | יוסי@יצ.קום

                          תגובה 1 תגובה אחרונה
                          1
                          • yzahnY yzahn

                            @אלף-שין כתב בשיתוף | שיתוף ובקשת עזרה, תוכנה למיון ספרים!:

                            אבל צריך סקריפט שיסרוק ב3 שלבים

                            למה החלטת ככה? מה לא טוב עם הפונקציה שלי? (תביא דוגמאות של קבצים שזה לא עובד עליהם ואנסה לתקן)

                            האם נמצא בעמוד הראשון תיבת טקסט

                            תוכל להגדיר בשפה יותר טכנית/מדוייקת מה זה תיבת טקסט? כי המושג "תיבת טקסט" לא קיים ב-PDF

                            א מנותק
                            א מנותק
                            אלף שין
                            כתב נערך לאחרונה על ידי אלף שין
                            #27

                            @yzahn כתב בשיתוף | שיתוף ובקשת עזרה, תוכנה למיון ספרים!:

                            למה החלטת ככה? מה לא טוב עם הפונקציה שלי? (תביא דוגמאות של קבצים שזה לא עובד עליהם ואנסה לתקן)

                            האם נמצא בעמוד הראשון תיבת טקסט

                            תוכל להגדיר בשפה יותר טכנית/מדוייקת מה זה תיבת טקסט? כי המושג "תיבת טקסט" לא קיים ב-PDF

                            העליתי כאן עמוד ראשון מ3 ספרים,
                            שים לב להבדל:
                            בספר חידושי חתם סופר: הטקסט מופיע בתוך "תיבת טקסט".
                            בספר בן יהוידע ח"א: מופיע כמלל רגיל בדומה לשאר המלל בעמוד.
                            בספר בן יהוידע ח"ב: צריך עדיין לעבור OCR.

                            חדושי חתם סופר - ע''ז_1.pdf
                            בן יהוידע ח''א_1.pdf
                            בן יהוידע ח''ב_1.pdf

                            לכן אני רוצה סקריפט חכם שיבדוק אם מוצא את האות W , כי אולי זה סוג 1 או 2, וחבל סתם לעשות עוד פעם זיהוי תווים,
                            ורק אם לא מצא שאז יכול להיות שהסיבה היא כי זה סוג 3 אז ליתר ביטחון יחפש שוב לאחר שיעשה OCR לעמוד הראשון.

                            @אביי אני מחכה רק לך....

                            yzahnY יום חדש מתחילי 2 תגובות תגובה אחרונה
                            1
                            • א אלף שין

                              @yzahn כתב בשיתוף | שיתוף ובקשת עזרה, תוכנה למיון ספרים!:

                              למה החלטת ככה? מה לא טוב עם הפונקציה שלי? (תביא דוגמאות של קבצים שזה לא עובד עליהם ואנסה לתקן)

                              האם נמצא בעמוד הראשון תיבת טקסט

                              תוכל להגדיר בשפה יותר טכנית/מדוייקת מה זה תיבת טקסט? כי המושג "תיבת טקסט" לא קיים ב-PDF

                              העליתי כאן עמוד ראשון מ3 ספרים,
                              שים לב להבדל:
                              בספר חידושי חתם סופר: הטקסט מופיע בתוך "תיבת טקסט".
                              בספר בן יהוידע ח"א: מופיע כמלל רגיל בדומה לשאר המלל בעמוד.
                              בספר בן יהוידע ח"ב: צריך עדיין לעבור OCR.

                              חדושי חתם סופר - ע''ז_1.pdf
                              בן יהוידע ח''א_1.pdf
                              בן יהוידע ח''ב_1.pdf

                              לכן אני רוצה סקריפט חכם שיבדוק אם מוצא את האות W , כי אולי זה סוג 1 או 2, וחבל סתם לעשות עוד פעם זיהוי תווים,
                              ורק אם לא מצא שאז יכול להיות שהסיבה היא כי זה סוג 3 אז ליתר ביטחון יחפש שוב לאחר שיעשה OCR לעמוד הראשון.

                              @אביי אני מחכה רק לך....

                              yzahnY מנותק
                              yzahnY מנותק
                              yzahn
                              עימוד
                              כתב נערך לאחרונה על ידי yzahn
                              #28

                              @אלף-שין
                              א) במקום pypdf אני משתמש עכשיו ב-pymupdf
                              ב) תתקין במחשב שלך את זה

                              הקוד הבא עובד על שלושת הקבצים שהבאת,
                              אם יש לך עוד דוגמאות של קבצים שזה לא עובד עליהם אנא העלה את הקובץ לפה ונראה מה יש לעשות בנושא

                              הנה הקוד:

                              from pymupdf import pymupdf
                              
                              def is_hebrewbooks_file(file_path):
                                doc = pymupdf.open(file_path)
                                page = doc[0]
                                text = page.get_text()
                                if text.find("hebrewbook") != -1:
                                  return True
                                # if failed - try ocr
                                ocr_text = page.get_textpage_ocr(tessdata=r"C:\Program Files\Tesseract-OCR\tessdata").extractText()
                                if ocr_text.find("hebrewbook") != -1:
                                  return True
                                return False
                              

                              📧 | יוסי@יצ.קום

                              א 2 תגובות תגובה אחרונה
                              3
                              • א אלף שין

                                @yzahn כתב בשיתוף | שיתוף ובקשת עזרה, תוכנה למיון ספרים!:

                                למה החלטת ככה? מה לא טוב עם הפונקציה שלי? (תביא דוגמאות של קבצים שזה לא עובד עליהם ואנסה לתקן)

                                האם נמצא בעמוד הראשון תיבת טקסט

                                תוכל להגדיר בשפה יותר טכנית/מדוייקת מה זה תיבת טקסט? כי המושג "תיבת טקסט" לא קיים ב-PDF

                                העליתי כאן עמוד ראשון מ3 ספרים,
                                שים לב להבדל:
                                בספר חידושי חתם סופר: הטקסט מופיע בתוך "תיבת טקסט".
                                בספר בן יהוידע ח"א: מופיע כמלל רגיל בדומה לשאר המלל בעמוד.
                                בספר בן יהוידע ח"ב: צריך עדיין לעבור OCR.

                                חדושי חתם סופר - ע''ז_1.pdf
                                בן יהוידע ח''א_1.pdf
                                בן יהוידע ח''ב_1.pdf

                                לכן אני רוצה סקריפט חכם שיבדוק אם מוצא את האות W , כי אולי זה סוג 1 או 2, וחבל סתם לעשות עוד פעם זיהוי תווים,
                                ורק אם לא מצא שאז יכול להיות שהסיבה היא כי זה סוג 3 אז ליתר ביטחון יחפש שוב לאחר שיעשה OCR לעמוד הראשון.

                                @אביי אני מחכה רק לך....

                                יום חדש מתחילי מנותק
                                יום חדש מתחילי מנותק
                                יום חדש מתחיל
                                כתב נערך לאחרונה על ידי
                                #29

                                @אלף-שין אני מבין שכל הקבצים נמצאים בתיקי' מסוימת, ויש שם גם עוד קבצים ואתה רוצה להפריד ביניהם.
                                אז למה אתה צריך דווקא סקריפט אחד שיעשה את שלשת השלבים הנ"ל, למה לא לעשות זאת בשלשה סקריפטים שונים, שתריץ כל אחד אחרי שהשני יגמור?

                                yzahnY תגובה 1 תגובה אחרונה
                                0
                                • יום חדש מתחילי יום חדש מתחיל

                                  @אלף-שין אני מבין שכל הקבצים נמצאים בתיקי' מסוימת, ויש שם גם עוד קבצים ואתה רוצה להפריד ביניהם.
                                  אז למה אתה צריך דווקא סקריפט אחד שיעשה את שלשת השלבים הנ"ל, למה לא לעשות זאת בשלשה סקריפטים שונים, שתריץ כל אחד אחרי שהשני יגמור?

                                  yzahnY מנותק
                                  yzahnY מנותק
                                  yzahn
                                  עימוד
                                  כתב נערך לאחרונה על ידי yzahn
                                  #30

                                  @יום-חדש-מתחיל מה אתה מנסה להרוויח? כל מה שתעשה בשלושה סקריפטים תוכל לעשות בסקריפט אחד בצורה יותר יעילה

                                  📧 | יוסי@יצ.קום

                                  יום חדש מתחילי תגובה 1 תגובה אחרונה
                                  1
                                  • yzahnY yzahn

                                    @יום-חדש-מתחיל מה אתה מנסה להרוויח? כל מה שתעשה בשלושה סקריפטים תוכל לעשות בסקריפט אחד בצורה יותר יעילה

                                    יום חדש מתחילי מנותק
                                    יום חדש מתחילי מנותק
                                    יום חדש מתחיל
                                    כתב נערך לאחרונה על ידי
                                    #31

                                    @yzahn כי כפי שאני מבין, את שתי השלבים הראשונים כבר יש לו סקריפט, אז מה הוא צריך שבסקריפט הזה יכתבו גם את השלבים הנ"ל?

                                    תגובה 1 תגובה אחרונה
                                    1
                                    • yzahnY yzahn

                                      @אלף-שין
                                      א) במקום pypdf אני משתמש עכשיו ב-pymupdf
                                      ב) תתקין במחשב שלך את זה

                                      הקוד הבא עובד על שלושת הקבצים שהבאת,
                                      אם יש לך עוד דוגמאות של קבצים שזה לא עובד עליהם אנא העלה את הקובץ לפה ונראה מה יש לעשות בנושא

                                      הנה הקוד:

                                      from pymupdf import pymupdf
                                      
                                      def is_hebrewbooks_file(file_path):
                                        doc = pymupdf.open(file_path)
                                        page = doc[0]
                                        text = page.get_text()
                                        if text.find("hebrewbook") != -1:
                                          return True
                                        # if failed - try ocr
                                        ocr_text = page.get_textpage_ocr(tessdata=r"C:\Program Files\Tesseract-OCR\tessdata").extractText()
                                        if ocr_text.find("hebrewbook") != -1:
                                          return True
                                        return False
                                      
                                      א מנותק
                                      א מנותק
                                      אלף שין
                                      כתב נערך לאחרונה על ידי
                                      #32

                                      @yzahn
                                      מדהים הסקריפט שלך פשוט עובד נפלא!!
                                      תודה רבה!!

                                      from pymupdf import pymupdf
                                      
                                      def is_hebrewbooks_file(file_path):
                                        doc = pymupdf.open(file_path)
                                        page = doc[0]
                                        text = page.get_text()
                                        if text.find("hebrewbook") != -1:
                                          return True
                                        ocr_text = page.get_textpage_ocr(tessdata=r"C:\Program Files\Tesseract-OCR\tessdata").extractText()
                                        if ocr_text.find("hebrewbook") != -1:
                                          return True
                                        return False
                                      
                                      file_path = "40809.pdf"  # replace with your file path
                                      result = is_hebrewbooks_file(file_path)
                                      print(result)
                                      

                                      עכשיו אני רק צריך כמה שיפורים קטנים ואז זה יהיה מושלם!

                                      1] שהסקריפט ירוץ בלולאה על כל הקבצים שנמצאים בתיקייה [שממנה אני מפעיל אותו], [כולל תתי תיקיות עד סוף כל הדורות] או לחילופין שאוכל לבחור עם ממשק גרפי יותר נחמד אבל לא קריטי...
                                      אבל שלא יהיה ח"ו התנגשויות בין תהליכים של הסקריפט בגלל זה.....
                                      2] שבמקום לענות לי אמת או שקר, הוא פשוט יעביר את כל הקבצים שהם אמת לתיקייה מסוימת, ולא רק להעתיק שיהיה לי כפול... אלא להעביר ולמחוק לגמרי מהמקור....
                                      3] ו... הכי טוב מקומפל.....

                                      מי שיכול לעזור בזה אודה לו עמוקות!

                                      @האדם-החושב.

                                      א תגובה 1 תגובה אחרונה
                                      2
                                      • א אלף שין

                                        @yzahn
                                        מדהים הסקריפט שלך פשוט עובד נפלא!!
                                        תודה רבה!!

                                        from pymupdf import pymupdf
                                        
                                        def is_hebrewbooks_file(file_path):
                                          doc = pymupdf.open(file_path)
                                          page = doc[0]
                                          text = page.get_text()
                                          if text.find("hebrewbook") != -1:
                                            return True
                                          ocr_text = page.get_textpage_ocr(tessdata=r"C:\Program Files\Tesseract-OCR\tessdata").extractText()
                                          if ocr_text.find("hebrewbook") != -1:
                                            return True
                                          return False
                                        
                                        file_path = "40809.pdf"  # replace with your file path
                                        result = is_hebrewbooks_file(file_path)
                                        print(result)
                                        

                                        עכשיו אני רק צריך כמה שיפורים קטנים ואז זה יהיה מושלם!

                                        1] שהסקריפט ירוץ בלולאה על כל הקבצים שנמצאים בתיקייה [שממנה אני מפעיל אותו], [כולל תתי תיקיות עד סוף כל הדורות] או לחילופין שאוכל לבחור עם ממשק גרפי יותר נחמד אבל לא קריטי...
                                        אבל שלא יהיה ח"ו התנגשויות בין תהליכים של הסקריפט בגלל זה.....
                                        2] שבמקום לענות לי אמת או שקר, הוא פשוט יעביר את כל הקבצים שהם אמת לתיקייה מסוימת, ולא רק להעתיק שיהיה לי כפול... אלא להעביר ולמחוק לגמרי מהמקור....
                                        3] ו... הכי טוב מקומפל.....

                                        מי שיכול לעזור בזה אודה לו עמוקות!

                                        @האדם-החושב.

                                        א מנותק
                                        א מנותק
                                        אלף שין
                                        כתב נערך לאחרונה על ידי אלף שין
                                        #33

                                        @אלף-שין

                                        import os
                                        import glob
                                        from pymupdf import pymupdf
                                        import shutil
                                        import tkinter as tk
                                        from tkinter import filedialog
                                        
                                        def is_hebrewbooks_file(file_path):
                                            if not file_path.endswith('.pdf'):
                                                return False
                                            doc = pymupdf.open(file_path)
                                            page = doc[0]
                                            text = page.get_text()
                                            if text.find("W") != -1 or text.find("w") != -1:
                                                return True
                                            ocr_text = page.get_textpage_ocr(tessdata=r"C:\Program Files\Tesseract-OCR\tessdata").extractText()
                                            if ocr_text.find("W") != -1 or ocr_text.find("w") != -1:
                                                return True
                                            return False
                                        
                                        def main():
                                            root = tk.Tk()
                                            root.title("HebrewBooks File Finder")
                                        
                                            label = tk.Label(root, text="Select a directory:")
                                            label.pack()
                                        
                                            dir_button = tk.Button(root, text="Browse", command=lambda: browse_dir())
                                            dir_button.pack()
                                        
                                            result_label = tk.Label(root, text="")
                                            result_label.pack()
                                        
                                            def browse_dir():
                                                dir_path = filedialog.askdirectory()
                                                if dir_path:
                                                    current_dir = dir_path
                                                    target_dir = "HebrewBooks"  # adjust this to your target directory
                                                    os.makedirs(target_dir, exist_ok=True)  # create the target directory if it doesn't exist
                                                    for root, dirs, files in os.walk(current_dir):
                                                        for file in files:
                                                            file_path = os.path.join(root, file)
                                                            if os.path.isfile(file_path) and file_path.endswith('.pdf'):
                                                                if is_hebrewbooks_file(file_path):
                                                                    shutil.move(file_path, os.path.join(target_dir, file))
                                                                    result_label.config(text=f"Moved HebrewBook file: {file_path}")
                                                                else:
                                                                    result_label.config(text="No HebrewBook files found")
                                        
                                            root.mainloop()
                                        
                                        if __name__ == "__main__":
                                            main()
                                        

                                        זה עושה הכל ב"ה!
                                        [עדיין יש מעט קבצים שה OCR לא מצליח לזהות אותם]

                                        מישהוא יכול רק לקמפל אותו?

                                        האדם החושבה תגובה 1 תגובה אחרונה
                                        1
                                        • א אלף שין

                                          @אלף-שין

                                          import os
                                          import glob
                                          from pymupdf import pymupdf
                                          import shutil
                                          import tkinter as tk
                                          from tkinter import filedialog
                                          
                                          def is_hebrewbooks_file(file_path):
                                              if not file_path.endswith('.pdf'):
                                                  return False
                                              doc = pymupdf.open(file_path)
                                              page = doc[0]
                                              text = page.get_text()
                                              if text.find("W") != -1 or text.find("w") != -1:
                                                  return True
                                              ocr_text = page.get_textpage_ocr(tessdata=r"C:\Program Files\Tesseract-OCR\tessdata").extractText()
                                              if ocr_text.find("W") != -1 or ocr_text.find("w") != -1:
                                                  return True
                                              return False
                                          
                                          def main():
                                              root = tk.Tk()
                                              root.title("HebrewBooks File Finder")
                                          
                                              label = tk.Label(root, text="Select a directory:")
                                              label.pack()
                                          
                                              dir_button = tk.Button(root, text="Browse", command=lambda: browse_dir())
                                              dir_button.pack()
                                          
                                              result_label = tk.Label(root, text="")
                                              result_label.pack()
                                          
                                              def browse_dir():
                                                  dir_path = filedialog.askdirectory()
                                                  if dir_path:
                                                      current_dir = dir_path
                                                      target_dir = "HebrewBooks"  # adjust this to your target directory
                                                      os.makedirs(target_dir, exist_ok=True)  # create the target directory if it doesn't exist
                                                      for root, dirs, files in os.walk(current_dir):
                                                          for file in files:
                                                              file_path = os.path.join(root, file)
                                                              if os.path.isfile(file_path) and file_path.endswith('.pdf'):
                                                                  if is_hebrewbooks_file(file_path):
                                                                      shutil.move(file_path, os.path.join(target_dir, file))
                                                                      result_label.config(text=f"Moved HebrewBook file: {file_path}")
                                                                  else:
                                                                      result_label.config(text="No HebrewBook files found")
                                          
                                              root.mainloop()
                                          
                                          if __name__ == "__main__":
                                              main()
                                          

                                          זה עושה הכל ב"ה!
                                          [עדיין יש מעט קבצים שה OCR לא מצליח לזהות אותם]

                                          מישהוא יכול רק לקמפל אותו?

                                          האדם החושבה מנותק
                                          האדם החושבה מנותק
                                          האדם החושב
                                          מדריכים
                                          כתב נערך לאחרונה על ידי
                                          #34

                                          @אלף-שין
                                          sort.exe

                                          א תגובה 1 תגובה אחרונה
                                          1

                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • חוקי הפורום
                                          • פופולרי
                                          • לא נפתר
                                          • משתמשים
                                          • חיפוש גוגל בפורום
                                          • צור קשר