summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2019-02-19 18:04:31 +0100
committerLaurenz <laurmaedje@gmail.com>2019-02-19 18:04:31 +0100
commitcaf08ea5fac0a9afa25534f8333c0fef027b0f26 (patch)
treef6392781f482639556ec332155f113b6d2ee6c1e /src
parentb2ea22b25b060839ef1e5f9fef124dd4ed5b7107 (diff)
Escape parens and backslashes in PDF ♻
Diffstat (limited to 'src')
-rw-r--r--src/pdf.rs11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/pdf.rs b/src/pdf.rs
index c3a77c57..e15cc33f 100644
--- a/src/pdf.rs
+++ b/src/pdf.rs
@@ -75,12 +75,10 @@ impl<W: Write> WritePdf<Document> for W {
let mut id = content_start;
for page in &doc.pages {
for content in &page.contents {
- let string = &content.0;
-
writer.write_obj(id, &Text::new()
.set_font(1, 13.0)
.move_pos(108.0, 734.0)
- .write_text(&string)
+ .write_text(content.0.as_bytes())
.to_stream()
)?;
id += 1;
@@ -108,7 +106,7 @@ mod pdf_tests {
/// Create a pdf with a name from the source code.
fn test(name: &str, src: &str) {
- let mut file = std::fs::File::create(name).unwrap();
+ let mut file = std::fs::File::create(format!("../target/{}", name)).unwrap();
let doc = src.tokenize()
.parse().unwrap()
.generate().unwrap();
@@ -117,8 +115,8 @@ mod pdf_tests {
#[test]
fn pdf_simple() {
- test("../target/write1.pdf", "This is an example of a sentence.");
- test("../target/write2.pdf","
+ test("write-simple.pdf", "This is an example of a sentence.");
+ test("write-break.pdf","
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
@@ -128,5 +126,6 @@ mod pdf_tests {
justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est
Lorem ipsum dolor sit amet.
");
+ test("write-parens.pdf", "Text enclosed in (parenthesis), like ) or ( should work!");
}
}