ImageMagick делегирует PDF-> растровое преобразование в GhostScript так или иначе, таким образом, вот команда, которую можно использовать (это основано на фактической команде, перечисленной эти ps:alpha
делегат в ImageMagick, просто скорректированном к JPEG использования, как произведено):
gs -q -dQUIET -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT \
-dMaxBitmap=500000000 -dLastPage=1 -dAlignToPixels=0 -dGridFitTT=0 \
-sDEVICE=jpeg -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r72x72 \
-sOutputFile=$OUTPUT -f$INPUT
, где $OUTPUT
и $INPUT
входные имена файлов и вывод. Корректируйтесь 72x72
к любому разрешению, в котором Вы нуждаетесь. (Очевидно, полоса обратные косые черты, если Вы выписываете целую команду как одну строку.)
Это хорошо по двум причинам:
Другие вещи рассмотреть: с файлами я протестировал, PNG сжимается лучше, чем JPEG. Если Вы хотите использовать PNG, измениться -sDEVICE=jpeg
на -sDEVICE=png16m
.
You необходимо использовать htmlspecialchars ($ str, ENT_QUOTES)
или htmlentities ($ str, ENT_QUOTES)
для преобразования кавычек в объект HTML & quot;
. Эта функция также заботится о других символах, которые должны быть закодированы.
mysql_real_escape_string ()
предназначена только для экранирования одинарных кавычек в запросах к базе данных, чтобы вы могли правильно вводить строки в одинарных кавычках в вашу базу данных (и избегать использования SQL инъекции).
РЕДАКТИРОВАТЬ: Добавлены параметры. Спасибо micahwittman
Причина, по которой он не работает, когда вы выводите его на вход
, заключается в том, что значение
усекается в кавычках. Вам нужно будет использовать htmlspecialchars () на выходе.
Вы перепутали две вещи: mysql_real_escape_string
используется для подготовки строк для хранения в базе данных mysql. htmlentities
используется для подготовки строк для вывода в браузере. Оба варианта важны, но нельзя ожидать, что вызовы одного за другим в одной строке сработают. Сделайте что-то вроде следующего:
// Copy string after escaping for mysql into $db_headline
$db_headline= mysql_real_escape_string($_POST['headline']);
// Copy string after escaping for page display into $html_headline
$html_headline = htmlentities($_POST['headline']);
// Store the headline in the database
...
?>
<input type="text" name="headline" value="<?php echo $html_headline ?>" />
...
Изменение входной строки не является задачей JS, сервер должен убедиться, что он может принимать то, что получает, независимо от того, что он получает.
Вы можете избежать двойных кавычек с другим значением либо Assci символ или HTML & quot;
и т. д., прежде чем передать его в escape-функцию mysql?