В зависимости от серверного языка вы можете использовать один из следующих:
.NET 4.0
string result = System.Web.HttpUtility.JavaScriptStringEncode("jsString")
Java
import org.apache.commons.lang.StringEscapeUtils;
...
String result = StringEscapeUtils.escapeJavaScript(jsString);
Python
import json
result = json.dumps(jsString)
PHP
$result = strtr($jsString, array('\\' => '\\\\', "'" => "\\'", '"' => '\\"',
"\r" => '\\r', "\n" => '\\n' ));
Ruby on Rails
<%= escape_javascript(jsString) %>
Должен ли выходной файл быть PDF? Можете ли вы не просто сохранить график непосредственно как другой тип файла, который поддерживает прозрачность, например .png, и вставить его в свои презентации или файлы Word?
У меня были проблемы с форматированием при вставке изображений PDF в Word до, с прозрачностью или без нее.
Проблема не связана с R или RStudio.
Проблема связана с процессом создания и преобразования встроенных изображений в документы Microsoft Word в Mac OS X и с тем, как документ затем обрабатывается Microsoft Word в Windows .
Почему? По сути, PDF является родным компонентом системы рисования Apple Quartz. Внутренняя модель обработки изображений Mac OS X Quartz хорошо коррелирует с графиком объектов PDF, что упрощает отображение и управление встроенными изображениями в формате PDF.
Увы, это не относится к операционной системе Windows. [ Это не критика, а просто наблюдение. ] Механизм PDF не включен в Windows, это дополнение. Таким образом, документ Mac OS X Word не будет корректно отображаться в Microsoft Word для Windows. В дополнение к этому, по-видимому, нет никакой полезной возможности иметь OLE-ссылку на PDF.
Пример:
В Mac OS X можно просто перетащить изображение PDF в текстовый документ. Отображаемое изображение будет отображаться как:
сейчас, если мы перейдем на ПК с Windows 10 и откроем документ, который увидим: [ 1124]
Рекомендуемое обходное решение - сохранить изображения в формате .png или .jpg и вставить эти в слово документ.
library(ggplot2)
library(cowplot)
p <- qplot(Sepal.Length, Petal.Length, data = iris, color = Species, size = Petal.Width, alpha = 0.5)
save_plot("plot.pdf",p)
save_plot("plot.png",p)
save_plot("plot.jpg",p)
Microsoft Word в Windows 10
Другой рассматриваемый вариант - использовать
ggsave("plot.eps", p, device=cairo_ps, fallback_resolution = 1200)
, это действительно работает, однако на визуализированных изображениях в Windows 10 были замечены полоски.
По-видимому, страты связаны с неявным диалогом, в котором Word преобразует изображения EPS в формат EMF из-за ограничений безопасности.
[Тысяча сто тридцать два] https://support.office.com/en-us/article/support-for-eps-images-has-been-turned-off-in-office-a069d664-4bcf-415e-a1b5- cbb0c334a840
Таким образом, вы можете вставить изображение EPS, но оно, похоже, преобразуется в EMF, чтобы блокировать векторы атаки встроенного сценария EPS.
Пример: