חוקי הפורום

הטמעת סימן מים בקבצי PDF


  • ניהול

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

    @yossiz כתבת במקום אחר שאפשר עם תוכנת pdftk

    עם הסקריפט הבא:

    chcp 65001
    REM תכניס לתוך הגרשיים את הנתיב לסימן המים
    set WATERMARK="c:\watermark.pdf"
    for %%x in (%*) do "C:\Program Files (x86)\PDFtk Server\bin\pdftk.exe" %%x background %WATERMARK% output "%%~dpnx.watermarked.pdf"
    REM pause
    



    הורדת, התקנתי, יצרתי סקריפט, (אגב הנתיב שגוי, אצלי זה נמצא ב:C:\Program Files (x86)\PDFtk\bin\pdftk.exe)

    ונראה שהוא עובד מעולה.


    אבל נתקעתי בשלב הכנת הקובץ לסימן המים.
    אך הכי מומלץ לעשות את זה? באיזה תוכנה? איך לשמור?

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



    תודה רבה!



  • @בערל אמר בהטמעת סימן מים בקבצי PDF:

    מדובר בקבצי PDF שלפעמים מכילים תמונות בגדלים שונים.

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

    תכין לך PDF בגודל של ה-PDF שאתה רוצה לסמן.
    תשים את סימן המים במיקום שאתה רוצה.

    עכשיו יש לך 2 אופציות,
    לשים את זה מעל לתוכן או מתחתיו

    לשים מתחת תריץ את הפקודה שמצאת ממני איפשהו מתחת לאדמה...
    לשים למעלה, תחליף את המילה background ל-stamp

    הכל ברור? האמת שלא כל כך הבנתי במה אתה מסתבך.


  • ניהול

    @yossiz אמר בהטמעת סימן מים בקבצי PDF:

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

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


    .

    תכין לך PDF בגודל של ה-PDF שאתה רוצה לסמן.
    תשים את סימן המים במיקום שאתה רוצה.

    עכשיו יש לך 2 אופציות,
    לשים את זה מעל לתוכן או מתחתיו

    לשים מתחת תריץ את הפקודה שמצאת ממני איפשהו מתחת לאדמה...
    לשים למעלה, תחליף את המילה background ל-stamp

    הכל ברור? האמת שלא כל כך הבנתי במה אתה מסתבך.

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

    מה פיספסתי?

    עריכה:
    החלפתי לstamp וכעת עובד.

    נותר רק הבעיה הראשונה...

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

    תודה רבה!!!!


  • ניהול

    @yossiz

    השלמתי כבר עם העניין שיהיה בגדלים שונים, לא נורא...

    אבל שאלה אחרת, לגבי השורה הזאת:

    %%~dpnx.watermarked.pdf
    

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

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

    תודה רבה!



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

    for %%x in (%*) do (
      "C:\Program Files (x86)\PDFtk Server\bin\pdftk.exe" %%x background %WATERMARK% output "%%~dpnx.watermarked.pdf"
      del "%%~x"
      rename "%%~dpnx.watermarked.pdf" "%%~x"
    )
    

    בנוגע לתחביר זה ‎%%~dpn עיין כאן: https://ss64.com/nt/syntax-args.html
    (או תריץ help for)


  • ניהול

    @yossiz אמר בהטמעת סימן מים בקבצי PDF:

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

    for %%x in (%*) do (
      "C:\Program Files (x86)\PDFtk Server\bin\pdftk.exe" %%x background %WATERMARK% output "%%~dpnx.watermarked.pdf"
      del "%%~x"
      rename "%%~dpnx.watermarked.pdf" "%%~x"
    )
    

    רעיון יצירתי ומעולה!
    הוא עובד מצוין עד לשורה האחרונה, משום מה לא עובד לי הקטע rename
    מה יכול להיות?
    אולי כי אחרי שהוא מוחק את הקובץ הקודם הוא כבר לא זוכר שמו?

    תודה רבה רבה!!

    בנוגע לתחביר זה ‎%%~dpn עיין כאן: https://ss64.com/nt/syntax-args.html
    (או תריץ help for)

    תודה.
    אבדוק זאת!



  • @בערל אמר בהטמעת סימן מים בקבצי PDF:

    הוא עובד מצוין עד לשורה האחרונה, משום מה לא עובד לי הקטע rename
    מה יכול להיות?

    כי לא כתבתי את זה נכון

    צ"ל:

    for %%x in (%*) do (
      "C:\Program Files (x86)\PDFtk Server\bin\pdftk.exe" %%x background %WATERMARK% output "%%~dpnx.watermarked.pdf"
      del "%%~x"
      rename "%%~dpnx.watermarked.pdf" "%%~nxx"
    )
    

  • ניהול

    @yossiz זה עובד מעולה! תודה ענקית!

    אפשר לשאול עוד?
    כרגע זה עובד ע''י גרירת הקובץ על הסקריפט, איך אפשר לעשות שיעבוד גם בהפעלה בתוך תיקייה?


  • ניהול

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

    @בערל אמר בהטמעת סימן מים בקבצי PDF:

    אפשר לשאול עוד?
    כרגע זה עובד ע''י גרירת הקובץ על הסקריפט, איך אפשר לעשות שיעבוד גם בהפעלה בתוך תיקייה?



  • @בערל מצטער, היה לי תשובה ופשוט שכחתי לכותבו,
    לכאורה זה אמור לעבוד.

    chcp 65001
    REM תכניס לתוך הגרשיים את הנתיב לסימן המים
    set WATERMARK="c:\watermark.pdf"
    for %%f in (*.pdf) do (
      "C:\Program Files (x86)\PDFtk Server\bin\pdftk.exe" %%f background %WATERMARK% output "%%~nf.watermarked.pdf"
      del "%%~f"
      rename "%%~nf.watermarked.pdf" "%%~nxf"
    )
    

    נ.ב. לשם בהירות הקוד (🙄) שיניתי את שם המשתנה מ-x ל-f


  • ניהול

    @yossiz תודה רבה רבה!

    זה עובד טוב בתוך תיקייה עם קבצים, אבל:
    זה לא רץ גם על תתי תיקיות, (להוסיף R/ מספיק?).

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

    2000 - XXX
    1980 - aaa
    2020 - בערל
    

    מה אפשר לעשות?



  • @בערל שגיתי, זה לא היה אמור לעבוד על שום קובץ 😕

    בכל מקרה הנה סקריפט מתוקן (אני מקווה) שעובר גם על תתי תקיות

    (גם תיקנתי שזה ח"ו לא ימחוק את הקבצים המקוריים אם משום מה הפקודה לא עובד).

    chcp 65001
    REM תכניס לתוך הגרשיים את הנתיב לסימן המים
    set WATERMARK="c:\watermark.pdf"
    for /f "delims=" %%f in ('dir /a-D /B /S *.pdf') do (
      "C:\Program Files (x86)\PDFtk Server\bin\pdftk.exe" "%%~dpnxf" background %WATERMARK% output "%%~dpnf.watermarked.pdf" && del "%%~dpnxf" && rename "%%~dpnf.watermarked.pdf" "%%~nxf"
    )
    pause
    

    עדכן אם זה עובד


  • ניהול

    @yossiz אמר בהטמעת סימן מים בקבצי PDF:

    @בערל שגיתי, זה לא היה אמור לעבוד על שום קובץ

    דווקא זה כן עבד אצלי.

    @yossiz אמר בהטמעת סימן מים בקבצי PDF:

    בכל מקרה הנה סקריפט מתוקן (אני מקווה) שעובר גם על תתי תקיות

    (גם תיקנתי שזה ח"ו לא ימחוק את הקבצים המקוריים אם משום מה הפקודה לא עובד).

    chcp 65001
    REM תכניס לתוך הגרשיים את הנתיב לסימן המים
    set WATERMARK="c:\watermark.pdf"
    for /f "delims=" %%f in ('dir /a-D /B /S *.pdf') do (
      "C:\Program Files (x86)\PDFtk Server\bin\pdftk.exe" "%%~dpnxf" background %WATERMARK% output "%%~dpnf.watermarked.pdf" && del "%%~dpnxf" && rename "%%~dpnf.watermarked.pdf" "%%~nxf"
    )
    pause
    

    עדכן אם זה עובד

    זה לא עובד , ניסיתי גם על קובץ בודד.
    כותב שגיאה:

    The system cannot find the path specified.
    


  • @בערל אני לא יודע... אצלי זה עובד


  • ניהול

    @yossiz אמר בהטמעת סימן מים בקבצי PDF:

    @בערל אני לא יודע... אצלי זה עובד

    😕

    אולי צילו''מ יעזור:
    bcaeb34c-b6eb-4e49-b865-ac80641a7d42-image.png



  • אולי קשור לזה?

    @בערל אמר בהטמעת סימן מים בקבצי PDF:

    אגב הנתיב שגוי, אצלי זה נמצא ב:C:\Program Files (x86)\PDFtk\bin\pdftk.exe


  • ניהול

    @yossiz אמר בהטמעת סימן מים בקבצי PDF:

    אולי קשור לזה?

    @בערל אמר בהטמעת סימן מים בקבצי PDF:

    אגב הנתיב שגוי, אצלי זה נמצא ב:C:\Program Files (x86)\PDFtk\bin\pdftk.exe

    בדיוק!!
    (תמיד זכרתי להחליף ועכשיו זה התפספס לי...)


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


התחבר כדי לפרסם תגובה
 

בא תתחבר לדף היומי!