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

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עזרה - שינוי שם בקבצי PDF מרובים לפי טקסט מתוך המסמך

עזרה - שינוי שם בקבצי PDF מרובים לפי טקסט מתוך המסמך

מתוזמן נעוץ נעול הועבר תכנות
43 פוסטים 9 כותבים 1.9k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מעלה ומורידמ מנותק
    מעלה ומורידמ מנותק
    מעלה ומוריד
    כתב ב נערך לאחרונה על ידי
    #1

    צהרים טובים
    יש לי 12 תיקיות שכל אחת מכילה כ100 מסמכי PDF שהם בעצם קבלות על תרומות.
    שמות המסמכים נראים כך:

    06ea2393-8767-47b1-aaf8-e95f8e9ad2cc-image.png

    אני צריך תוכנה/סקריפט שמאפשר לשנות שם לקבצי PDF מרובים לפי טקסט שהסקריפט/תוכנה תשלוף מתוך הקובץ,
    המטרה היא שהסקריפט ישאב את שם התורם (ואולי גם הסכום) וישנה את שם הקובץ לשם התורם, ויריץ את הפעולה על כלל המסמכים.

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

    מנע בזבוז זמן, זכה את הרבים!

    רחמיםר תגובה 1 תגובה אחרונה
    0
    • רחמיםר מנותק
      רחמיםר מנותק
      רחמים מורחק
      השיב למעלה ומוריד ב נערך לאחרונה על ידי
      #2

      @מעלה-ומוריד אני מוכן לכתוב כזה סקריפט, היה בקשר yaakobov001@gmail.com לקבל הצעת מחיר.

      yossizY תגובה 1 תגובה אחרונה
      1
      • yossizY מנותק
        yossizY מנותק
        yossiz
        השיב לרחמים ב נערך לאחרונה על ידי yossiz
        #3

        @מעלה-ומוריד אולי עם קצת מאמץ קבוצתי יוכלו חברי תחומים התותחים למצוא לך פתרון מצויין שתשאיר את חשבון הבנק שלך מעל קו האדום התחתון... 🙂

        ההתחלה:

        • תוכנת pdftotext (הורדה). מריצים את זה ככה:
        pdftotext -enc UTF-8 -layout source-file.pdf -
        

        הנה קבלנו את התוכן של ה-pdf ל-stdout. (הסברים מה זה stdout במדריך שורת הפקודה שלי...)

        • שלב הבא, נמצא regex ששולף את הטקסט הרצוי

        • נרכיב פקודה שעושה שינוי השם לפי התוצאה של הפקודות הנ"ל.

        לפני שנתחיל, בא נחליט באיזה שפה נכתוב את זה?

        לכאורה powershell, למישהו יש הצעה טובה יותר?

        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

        yossizY מעלה ומורידמ A 3 תגובות תגובה אחרונה
        10
        • yossizY מנותק
          yossizY מנותק
          yossiz
          השיב לyossiz ב נערך לאחרונה על ידי
          #4

          @yossiz אמר בעזרה - שינוי שם בקבצי PDF מרובים לפי טקסט מתוך המסמך:

          אולי עם קצת מאמץ קבוצתי

          חברה, תעזרו לי קצת... אני לא מכיר powershell מספיק. אני לא רוצה לעשות את הכל לבד.

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

          רחמיםר תגובה 1 תגובה אחרונה
          7
          • מעלה ומורידמ מנותק
            מעלה ומורידמ מנותק
            מעלה ומוריד
            השיב לyossiz ב נערך לאחרונה על ידי מעלה ומוריד
            #5

            @yossiz

            תודה רבה! אתה לגמרי איש נדיר. שמישהו יביא איזה סקריפט לשכפל אותך...
            האם צריך להעלות מסמך לדוגמא?

            מנע בזבוז זמן, זכה את הרבים!

            yossizY תגובה 1 תגובה אחרונה
            5
            • רחמיםר מנותק
              רחמיםר מנותק
              רחמים מורחק
              השיב לyossiz ב נערך לאחרונה על ידי רחמים
              #6

              @yossiz לפני שאתה מתאמץ, אולי @מעלה-ומוריד יפרש יותר באיזה קובץ PDF מדובר? האם באמת יש שם טקסט? או אולי בכלל זה סריקה וצריך OCR, ואולי הקבלות מולאו בכתב יד וצריך OCR של כתב יד?

              תגובה 1 תגובה אחרונה
              1
              • yossizY מנותק
                yossizY מנותק
                yossiz
                השיב למעלה ומוריד ב נערך לאחרונה על ידי yossiz
                #7

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

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                מעלה ומורידמ תגובה 1 תגובה אחרונה
                6
                • מעלה ומורידמ מנותק
                  מעלה ומורידמ מנותק
                  מעלה ומוריד
                  השיב לyossiz ב נערך לאחרונה על ידי מעלה ומוריד
                  #8

                  @yossiz @רחמים הנה מסמך לדוגמה
                  שוב תודה רבה!

                  מנע בזבוז זמן, זכה את הרבים!

                  רחמיםר תגובה 1 תגובה אחרונה
                  1
                  • רחמיםר מנותק
                    רחמיםר מנותק
                    רחמים מורחק
                    השיב למעלה ומוריד ב נערך לאחרונה על ידי
                    #9

                    @מעלה-ומוריד לא צירפת כלום

                    מעלה ומורידמ תגובה 1 תגובה אחרונה
                    0
                    • מעלה ומורידמ מנותק
                      מעלה ומורידמ מנותק
                      מעלה ומוריד
                      השיב לרחמים ב נערך לאחרונה על ידי
                      #10

                      @רחמים אמר בעזרה - שינוי שם בקבצי PDF מרובים לפי טקסט מתוך המסמך:

                      @מעלה-ומוריד לא צירפת כלום

                      תיקנתי (היה חסר https)..

                      מנע בזבוז זמן, זכה את הרבים!

                      dovidD תגובה 1 תגובה אחרונה
                      1
                      • dovidD מנותק
                        dovidD מנותק
                        dovid ניהול
                        השיב למעלה ומוריד ב נערך לאחרונה על ידי dovid
                        #11

                        בארגון בו אני עובד בניתי תוכנה קבועה לזה, והיא עובדת ב"ה.
                        אבל במקרה אחר בו היא נדרשה היא לא עובדת (בדיוק כמו הקובץ דוגמה שהעלית) הקובץ לא קריא. ניסיתי המון ניסיונות ולא הצלחתי, אני מקוה ש@yossiz יצליח פה ושעל הדרך בעייתי תיפתר גם.

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

                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                        yossizY תגובה 1 תגובה אחרונה
                        3
                        • A מנותק
                          A מנותק
                          aaron
                          השיב לyossiz ב נערך לאחרונה על ידי
                          #12

                          @yossiz אמר בעזרה - שינוי שם בקבצי PDF מרובים לפי טקסט מתוך המסמך:

                          לכאורה powershell, למישהו יש הצעה טובה יותר?

                          bash? סתם, צוחק.
                          נראה לי שהחלק המכאיב זה לבנות regex, מישהו פה התנסה בריג'קס בPS? כי נראה שזה לא תואם..

                          aaron.tchumim@gmail.com
                          Hetzner - שרתים וירטואליים ופיזיים במחירים מעולים (קישור שותפים)

                          ווצאפ API - תיעוד שירות API לא רשמי.

                          yossizY תגובה 1 תגובה אחרונה
                          0
                          • yossizY מנותק
                            yossizY מנותק
                            yossiz
                            השיב לaaron ב נערך לאחרונה על ידי
                            #13

                            @aaron אמר בעזרה - שינוי שם בקבצי PDF מרובים לפי טקסט מתוך המסמך:

                            bash? סתם, צוחק.

                            מה מצחיק? באמת אולי bash היה יותר קל לי, אבל זה לא שימושי ל@מעלה-ומוריד.

                            נראה לי שהחלק המכאיב זה לבנות regex, מישהו פה התנסה בריג'קס בPS? כי נראה שזה לא תואם..

                            טוב, נצטרך להוכיח לך שאתה לא צודק...
                            אולי אתה תרים את הכפפה ותכתוב משהו?

                            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                            A תגובה 1 תגובה אחרונה
                            2
                            • A מנותק
                              A מנותק
                              aaron
                              השיב לyossiz ב נערך לאחרונה על ידי
                              #14

                              @yossiz אמר בעזרה - שינוי שם בקבצי PDF מרובים לפי טקסט מתוך המסמך:

                              טוב, נצטרך להוכיח לך שאתה לא צודק...

                              שאני לא צודק במה?
                              זה ודאי לא תואם.. נתחיל בזה שאין פלאג של multiline.. כבר כאב ראש..
                              (על הדרך גיליתי שיש powershell על דוקר.. אחרת באמת לא היה לי איך לבדוק בכלל)

                              aaron.tchumim@gmail.com
                              Hetzner - שרתים וירטואליים ופיזיים במחירים מעולים (קישור שותפים)

                              ווצאפ API - תיעוד שירות API לא רשמי.

                              yossizY תגובה 1 תגובה אחרונה
                              0
                              • yossizY מנותק
                                yossizY מנותק
                                yossiz
                                כתב ב נערך לאחרונה על ידי yossiz
                                #15
                                param([string]$path = '.')
                                
                                $pdftotext = "C:\path\to\pdftotext.exe"
                                
                                [Console]::OutputEncoding = [text.encoding]::utf8
                                
                                Get-ChildItem -path $path -Filter '*.pdf' | ForEach-Object -Process {
                                  $donor = &$pdftotext -enc UTF-8 -simple $_.FullName - | Select-Object -Index 9
                                  Copy-Item -Path $_.FullName -Destination "$($path)/$($donor.trim()).pdf"
                                }
                                

                                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                תגובה 1 תגובה אחרונה
                                6
                                • yossizY מנותק
                                  yossizY מנותק
                                  yossiz
                                  השיב לdovid ב נערך לאחרונה על ידי
                                  #16

                                  @dovid אמר בעזרה - שינוי שם בקבצי PDF מרובים לפי טקסט מתוך המסמך:

                                  אצלי אפילו האנגלית לא קריאה, רק המספרים

                                  מה הסיפור עם הקובץ? נוצרה מאותה תוכנה? הבנת למה אין טקסט?

                                  📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                  dovidD תגובה 1 תגובה אחרונה
                                  2
                                  • yossizY מנותק
                                    yossizY מנותק
                                    yossiz
                                    השיב לaaron ב נערך לאחרונה על ידי
                                    #17

                                    @aaron אמר בעזרה - שינוי שם בקבצי PDF מרובים לפי טקסט מתוך המסמך:

                                    נתחיל בזה שאין פלאג של multiline

                                    פשוט לא נכון. הוצאת שם רע. סביר לטעון שיש טעיות בתכנון של powershell. אבל אל תנסה לטעון שיש טעויות טפשיות שכל מתחיל לא היה עושה.

                                    https://stackoverflow.com/a/12573413

                                    על הדרך גיליתי שיש powershell על דוקר.. אחרת באמת לא היה לי איך לבדוק בכלל

                                    אפשר פשוט להשתמש בווינדוס 🤔 ?
                                    בנוסף, מה לא טוב בזה?

                                    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                    yossizY A 2 תגובות תגובה אחרונה
                                    4
                                    • yossizY מנותק
                                      yossizY מנותק
                                      yossiz
                                      השיב לyossiz ב נערך לאחרונה על ידי
                                      #18

                                      מי שרוצה לתרום עדיין...
                                      יש עדיין מה לשפר בסקריפט שכתבתי:

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

                                      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                      OdedDvirO תגובה 1 תגובה אחרונה
                                      5
                                      • A מנותק
                                        A מנותק
                                        aaron
                                        השיב לyossiz ב נערך לאחרונה על ידי aaron
                                        #19

                                        @yossiz אמר בעזרה - שינוי שם בקבצי PDF מרובים לפי טקסט מתוך המסמך:

                                        פשוט לא נכון. הוצאת שם רע. סביר לטעון שיש טעיות בתכנון של powershell. אבל אל תנסה לטעון שיש טעויות טפשיות שכל מתחיל לא היה עושה.

                                        צודק, לא הבדלתי בכך שבמקרה הזה מדובר בקלט מstdout מה שאומר שהוא מסופק כשורות נפרדות ולא כטקסט רציף (עם \n)

                                        עריכה: אולי אין קשר..

                                        @yossiz אמר בעזרה - שינוי שם בקבצי PDF מרובים לפי טקסט מתוך המסמך:

                                        אפשר פשוט להשתמש בווינדוס ?
                                        בנוסף, מה לא טוב בזה?

                                        אילו היה וינדוס...
                                        ואני משתדל לא להתקין אף פעם ישירות מRPM\DEB. זה מתכון לחבילות לא מעודכנות.. (חוץ מחבילות שכשאתה מתקין הם גם מוסיפות את עצמם לריפו?)
                                        בכל מקרה, לא רואה סיבה "לזהם" את הסביבת עבודה כשיש דוקר פשוט וקל..

                                        aaron.tchumim@gmail.com
                                        Hetzner - שרתים וירטואליים ופיזיים במחירים מעולים (קישור שותפים)

                                        ווצאפ API - תיעוד שירות API לא רשמי.

                                        תגובה 1 תגובה אחרונה
                                        0
                                        • OdedDvirO מנותק
                                          OdedDvirO מנותק
                                          OdedDvir
                                          השיב לyossiz ב נערך לאחרונה על ידי OdedDvir
                                          #20

                                          @yossiz אמר בעזרה - שינוי שם בקבצי PDF מרובים לפי טקסט מתוך המסמך:

                                          יש עדיין מה לשפר בסקריפט שכתבתי:

                                          אני לא מבין בPS אבל הנה השני סנט שלי:

                                          צריך לתת שם ייחודי לכל קובץ כדי שלא יהיה שגיאה כאשר יש שני קבצים עם שם תורם זהה

                                          לשנות את שם הקובץ המקורי ל: שם המקורי+שם התורם.

                                          צריך לטפל שבהרצה שנייה הסקריפט יתעלם מקבצים שכבר טופלו

                                          לבדוק אם שם הקובץ גדול מ-10 תווים (ואז הוא טופל)

                                          צריך לסנן תווים מיוחדים מתוך השם החדש הקובץ

                                          $Path.Split([IO.Path]::GetInvalidFileNameChars()) -join '_'
                                          

                                          ממיר את כל התווים הלא תקניים לקו תחתון (מקור)

                                          ישר כח על העזרה @yossiz !

                                          מעלה ומורידמ תגובה 1 תגובה אחרונה
                                          7

                                          • 1
                                          • 2
                                          • 3
                                          בא תתחבר לדף היומי!
                                          • התחברות

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

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