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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
43 פוסטים 9 כותבים 1.9k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • רחמיםר מנותק
    רחמיםר מנותק
    רחמים מורחק
    השיב למעלה ומוריד ב נערך לאחרונה על ידי
    #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
                                        • dovidD מחובר
                                          dovidD מחובר
                                          dovid ניהול
                                          השיב לyossiz ב נערך לאחרונה על ידי dovid
                                          #21

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

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

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

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

                                          תוכנה לא מוכרת לי ממקום חיצוני (באופן קבוע).
                                          כעת בדקתי שוב, יאהוו כמה ניסיתי אז!
                                          הנה רשימה: PdfTextExtractor של iTextSharp, והספריות הבאות בנוד pdf.js-extract, pdf.js, pdf2json, pdfjs-dist, pdfreader.
                                          ובכן בשניים כעת בדקתי שוב, והם לא נותנים אפילו ספרה אחת.. כל הטקסט כזה 픀퐀혀ꀀ. אבל כלי שורת הפקודה שהבאת מביא תמיד את כל המספרים טוב, אבל הטקסט בלי utf-8 הוא ריק ועם הוא כזה:
                                          ╫¢╫ץ╫ש
                                          אני לא יכול לשתף שום מסמך מהסוג הזה, ולצערי לא יכול לייצר דוגמה כי אין לי מושג מי התוכנה המייצרת... אדובי רידר מבין את הטקסט נהדר.

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

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

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

                                          מעלה ומורידמ yossizY 2 תגובות תגובה אחרונה
                                          6

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

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

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