הטמעת סימן מים בקבצי 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 וכעת עובד.נותר רק הבעיה הראשונה...
וכן, בגלל שמדובר בתמונות בכל מיני צבעים לא תמיד רואים את הסימן מים.
יש אפשרות כלשהי להגדיר שישנה את הצבע במקרה הצורך?
זה פחות חשוב וכנראה גם בלתי אפשרי, רק שואל.תודה רבה!!!!
-
השלמתי כבר עם העניין שיהיה בגדלים שונים, לא נורא...
אבל שאלה אחרת, לגבי השורה הזאת:
%%~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" )
-
@בערל מצטער, היה לי תשובה ופשוט שכחתי לכותבו,
לכאורה זה אמור לעבוד.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
-
@בערל שגיתי, זה לא היה אמור לעבוד על שום קובץ
בכל מקרה הנה סקריפט מתוקן (אני מקווה) שעובר גם על תתי תקיות
(גם תיקנתי שזה ח"ו לא ימחוק את הקבצים המקוריים אם משום מה הפקודה לא עובד).
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:
אולי קשור לזה?
@בערל אמר בהטמעת סימן מים בקבצי PDF:
אגב הנתיב שגוי, אצלי זה נמצא ב:C:\Program Files (x86)\PDFtk\bin\pdftk.exe
בדיוק!!
(תמיד זכרתי להחליף ועכשיו זה התפספס לי...)
עובד עכשיו מעולה.
תודה רבה רבה!
עזרת לי מאוד.
תזכה למצוות!