Imprimer 4 images en portrait sur un A4
Ou Dès fois Ubuntu, c’’est un peu relou… Mais heureusement il y a R
L’idée, c’est de mettre 4 images en portrait sur une feuille A4 parce que personne a décidé de coder ça dans le truc d’impression d’Ubuntu 😕.
Allez au boulot, on sort les 📦 et c’est parti !
-
On commence par lire l’image (1.png c’est la sortie Canva jme suis pas foulée), et la mettre dans
img
. -
Ensuite dans
li
je mets une ligne, je colle donc deux fois mon image en ligne avecimage_append
-
Et pour finir, dans
A4
je colle deuxli
à la verticale, toujours avecimage_append
, mais en rajoutant l’optionstack = TRUE
, puis je mets au format A4 avecimage_scale("x3508")
, pourquoix3508
?
3508 c’est le nombre de pixels correspondant à la hauteur d’un A4 en 300dpi (et 2480 pixels sa hauteur)
library(tidyverse)
library(magick)
img <- image_read("1.png")
li <- c(img,img) %>%
image_append()
A4 <- c(li, li) %>%
image_append(stack = TRUE) %>%
image_scale("x3508")
print(A4)
## # A tibble: 1 × 7
## format width height colorspace matte filesize density
## <chr> <int> <int> <chr> <lgl> <int> <chr>
## 1 PNG 2480 3508 sRGB TRUE 0 67x67
Pis balançons (ouais on est plusieurs dans ma tête) direct le pdf quitte à faire,
par contre à mon avis c'est très sale ce que j'ai fait...
Enfin c’est sûr faudrait faire une fonction et le coder pour 4,6,8,… Fin comme le truc bien quoi. Mais Hadley (voir GIF haha) il a dit à partir de 3 fois, et là j’ai fait qu’un seul copier-coller à chaque fois ça passe 😁.
Bon ensuite je sauve l’image et je choisis son nom (c’est bien pour ça que ça valait pas le coup de le changer avant).
A4 %>%
image_write(path = "2x2_flyers_recto.png", format = "png")
Bon ben la même pour le verso :
img <- image_read("2.png")
img %>%
image_append()
li <- c(img,img) %>%
image_append()
A4 <- c(li, li) %>%
image_append(stack = TRUE) %>%
image_scale("x3508")
print(A4)
## # A tibble: 1 × 7
## format width height colorspace matte filesize density
## <chr> <int> <int> <chr> <lgl> <int> <chr>
## 1 PNG 2480 3508 sRGB TRUE 0 67x67
A4 %>%
image_write(path = "2x2_flyers_verso.png", format = "png")
C’était du rapide 😅