about summary refs log tree commit diff
path: root/bin/xcf-to-pdf
diff options
context:
space:
mode:
authorPatryk Niedźwiedziński <pniedzwiedzinski19@gmail.com>2021-09-28 08:37:28 +0200
committerGitHub <noreply@github.com>2021-09-28 08:37:28 +0200
commit0c6da045787cc80d46548180950e694dfb59b0da (patch)
tree052277711fba4e6653454b7d75bc3b10dab3a9ec /bin/xcf-to-pdf
parentd019fa5e4508f248278e67914d21c974f2946f77 (diff)
parent2d6e1d932ac8bfe05a131d1c7b951645b4edb3c2 (diff)
downloadspiewnik-0c6da045787cc80d46548180950e694dfb59b0da.tar.gz
spiewnik-0c6da045787cc80d46548180950e694dfb59b0da.zip
Merge branch 'master' into master
Diffstat (limited to 'bin/xcf-to-pdf')
-rwxr-xr-xbin/xcf-to-pdf23
1 files changed, 23 insertions, 0 deletions
diff --git a/bin/xcf-to-pdf b/bin/xcf-to-pdf
new file mode 100755
index 0000000..34da9c8
--- /dev/null
+++ b/bin/xcf-to-pdf
@@ -0,0 +1,23 @@
+#!/bin/sh
+{
+cat <<EOF
+(define (convert-xcf-to-pdf filename outfile)
+  (let* (
+     (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
+     (drawable (car (gimp-image-merge-visible-layers image CLIP-TO-IMAGE)))
+     )
+    (file-pdf-save RUN-NONINTERACTIVE image drawable outfile outfile TRUE TRUE TRUE)
+    (gimp-image-delete image) ; ... or the memory will explode
+    )
+)
+
+(gimp-message-set-handler 1) ; Messages to standard output
+EOF
+
+for i in $*; do
+  echo "(gimp-message \"$i\")"
+  echo "(convert-xcf-to-pdf \"$i\" \"${i%%.xcf}.pdf\")"
+done
+
+echo "(gimp-quit 0)"
+} | gimp -i -b -