https://foro.gambas-es.org/viewtopic.php?f=6&t=6250
-----------------------------------
jsbsan
Miercoles, 29 Marzo 2017, 09:19

Aplicar Un Comando A Varios Archivos
-----------------------------------
Una preguntilla:

Tengo en un directorio varios archivos .pdf
Los tengo que girar, y para ello uso el siguiente comando:
[quote]pdftk nombreorigen.pdf cat 1-endsouth output nombredestino.pdf[/quote]
(pero este comando solo vale para un archivo)

El caso es que queria hacer un script en bash, para que al ejecutarlo, lo aplicara a todos los ficheros del directorio donde este
¿alguien sabe como hacerlo con BASH? (no vale usar Gambas  :mryellow:  )


-----------------------------------
shordi
Miercoles, 29 Marzo 2017, 09:38

Re: Aplicar Un Comando A Varios Archivos
-----------------------------------
Prueba ésto:

[code linenumbers=false syntax=bash]
find . -name \*.pdf | while read f; do pdftk "$f" cat 1-endsouth output salida/"$f"; done 
[/code]

Hay otras formas, pero esta es la más elástica. Se supone que tienes un directorio "salida" para los resultados.


-----------------------------------
jsbsan
Miercoles, 29 Marzo 2017, 09:45

Re: Aplicar Un Comando A Varios Archivos
-----------------------------------
Shordi:

Gracias..

Tambien he encontrado otra solucion:
[quote]girado="Girado"
for archivoActual in $(ls -la *.pdf|awk '{print $9}');do
  echo $archivoActual
  

  pdftk A=$archivoActual cat A1-endDown output $archivoActual$girado.pdf
  
  echo "Girado a..."$archivoActual$girado.pdf
done[/quote]


[b]
Nota:[/b]
El  1-endsouth, lo gira 90 grados... en todos lados que he visto decia que gira 180º... por lo menos con los archivos que tengo lo que funciona es 1-endDown


-----------------------------------
tincho
Viernes, 31 Marzo 2017, 16:54

Re: Aplicar Un Comando A Varios Archivos
-----------------------------------
Hola para girar 90 grados todas las hojas del pdf hice este script.
Espero que te sea de utilidad.

[code linenumbers=false syntax=bash]#!/bin/bash

find . -name '*.pdf' | while read -r FINPUT
do

	FOUTPUT="${FINPUT%.*}#R90.${FINPUT##*.}"

		pdftk A=${FINPUT} cat A1-endeast output $FOUTPUT

done[/code]

[quote]
Nota:
El  1-endsouth, lo gira 90 grados... en todos lados que he visto decia que gira 180º... por lo menos con los archivos que tengo lo que funciona es 1-endDown
[/quote]
Ojo, tal vez no sea como dices, ya que en un post de [url=http://stackoverflow.com/questions/3136610/pdftk-rotating-pages-problem]StackOverFlow encontre un poco de información sobre los parámetros de rotación
[quote]...El ajuste de rotación de la página puede hacer que pdftk gire páginas y documentos. Cada opción establece la rotación de página de la siguiente manera (en grados): N: 0, E: 90, S: 180, W: 270, L: -90, R: +90, D: +180, L, R y D hacen ajustes relativos a la rotación de una página. "
Además de los ajustes de rotación NESW, también tiene las opciones L, R y D, que le permiten realizar ajustes relativos que tienen en cuenta el indicador de rotación actual....[/quote]

Me pareció interesante el tema, así que incluiré estas opciones en el programa de manipulación de archivos que estoy realizando llamado [url=https://github.com/belmotek/konvertilo]Konvertilo.

Saludos.


