איך להפעיל pdftk על php – על linux red hat

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

אם רוצים להפעיל אותו על php נתקלים בהמון בעיות.
הרשת מפוצצת בתיאורים של אנשים שלא הצליחו להפעיל,
חלק מהאנשים אפילו כתבו קודים ב-perl שמופעל דרך php, והקוד perl מפעיל את ה-pdftk – מה שנקרא "לעקוף בגסות".

אז מיפיתי את הדברים שצריך לבדוק כדי שיפעל נורמלי :

1. חייבים הרשאה בהגדרות של php לפקודה exec או ל system , אחרת אין איך להפעיל את זה (כלומר אם יש לך shared hosting … בדרך כלל אין מה לעשות).
2. בתיקיה שבה אתה רוצה ש-pdftk תיצור את הקבצים – צריכות להיות הרשאות מקסימליות.
כלומר תן לה הרשאות 777.
(או דרך תוכנת ftp כלשהיא, או בפקודה ישירות על השרת chmod 777 YourPath ).
3. הפניה ל-pdftk חייבת להיות למיקום שבו הקובץ יושב
כלומר על התקנה רגילה של Linux , זה אמור להיות משהו כזה /usr/bin או כזה /usr/local/bin
4. גירסת ה-pdftk – חייבת להיות 1.43 ומעלה (כאשר אני כותב את הפוסט הזה יש כבר 2.2 )

והלן קוד להדגמה :


$command = "/usr/bin/pdftk 1.pdf 2.pdf cat output /var/www/html/files/p1.pdf verbose";

exec($command);

למשל אם נלך בעקבות הקוד הזה –
אז התיקיה files – עם הרשאות 777
ומיקום הקובץ pdftk הוא ב /usr/bin/pdftk
וגם יש הרשאה לפקודה exec

בהצלחה!

המרת קידוד מ-UNICODE בעברית אל UTF-8

יש לי תוצר של VBA
ה-VBA מייצא ASCII
העברית מתקבלת בצורת קודים מוזרים של UNICODE
למשל האות "פ" הופכת להיות & # x 5 e 4 (זה הקס-דצימלי)

אני מעבד את המידע המתקבל ב-php
והמטרה היא להפוך אותו ל-UTF-8

ראיתי כמה פתרונות
הכי יעיל והכי קצר לדעתי הוא זה :

$replacedString = preg_replace("/\\u([0-9abcdef]{4})/", "&#x$1;", $originalString);
$unicodeString = mb_convert_encoding($replacedString, 'UTF-8', 'HTML-ENTITIES');

המקור הוא http://stackoverflow.com/questions/2045058/converting-these-types-of-unicode-to-utf8-in-php/7546249#7546249

פענוח פשוט של XML שמועבר ב-POST באמצעות simpleXML של PHP

ה-XML מועבר ב-POST
כאשר ההגדרה *במקור* ששלח את ה-XML היא כזו :

yourXMLobject.setRequestHeader "Content-type", "text/xml"

אז לכן משתמשים ב-raw post
כי – אין פה משתנים למעשה, אלא הכל XML אחד גדול.

זו הפונקציה

un . "
"; echo $xml->pw . "
"; // echo $xml_file; // echo $xml_post; } else { echo "it is not what you want";} ?>

עבודה עם mySqli בעברית בקידוד utf8

כדי לוודא שהתוספת mysqli מושכת נכון את הנתונים

אני שם את הקוד הבא

 

/* change character set to utf8 */
if (!mysqli_set_charset($con, "utf8")) {
printf("Error loading character set utf8: %sn", mysqli_error($con));
} else {
printf("Current character set: %sn", mysqli_character_set_name($con));
}

עבודה ב-UTF8 עם php/mySql בעברית

Collation of mySql server: utf8_general_ci

collation of mySql DB : utf8_general_ci

ואם אתם עובדים עם אשף כלשהוא שיוצר את הטפסים, אז כמובן גם בהגדרות שלו צריך.

במקרה שלי אני עובד עם SC או עם zend

ולכן

clinet encoding in the scriptCase Connection Edit Screen : utd8