library(pdftools) # Cargas la libreria para leer pdf's.
# Defines tu directorio de trabajo
setwd("C:/Users/eagel/OneDrive/Escritorio/Lalo/Escuela/Servicio Social/Septiembre/Archivos Utilizados/25 sep/Region Actopan/")
# Define tu archivo de entrada con la ruta completa
input_file = "C:/Users/eagel/OneDrive/Escritorio/Lalo/Escuela/Servicio Social/Septiembre/Archivos Utilizados/25 sep/Region Actopan/REGIÓN ACTOPAN.pdf"
# Define como se llamara tu archivo de salida
output_file = "C:/Users/eagel/OneDrive/Escritorio/Lalo/Escuela/Servicio Social/Septiembre/Archivos Utilizados/25 sep/Region Actopan/REGIÓN ACTOPAN_RegionTula.pdf"
Este PDF de ejemplo tiene 48 páginas, pero solo queremos las páginas 1 a 4. Para eso, usamos lo siguiente:
# Das el numero de las paginas que quires mantener(El numero va respecto a la pagina del pdf no del libro o documento)
paginas = c(1:4)
Y guardas el documento
# Crea un nuevo archivo PDF que contiene solo un subconjunto de las páginas de un archivo PDF original.
pdf_subset(input_file, pages = paginas, output = output_file)
## [1] "C:\\Users\\eagel\\OneDrive\\Escritorio\\Lalo\\Escuela\\Servicio Social\\Septiembre\\Archivos Utilizados\\25 sep\\Region Actopan\\REGIÓN ACTOPAN_RegionTula.pdf"
library(pdftools) # Cargas la librera para leer pdf's.
# Defines tu directorio de trabajo
setwd("C:/Users/eagel/OneDrive/Escritorio/Lalo/Escuela/Servicio Social/Septiembre/Archivos Utilizados/25 sep/Region Actopan/")
# Das tu archivo de entrada(el que vas a recortar)
input_file <- "C:/Users/eagel/OneDrive/Escritorio/Lalo/Escuela/Servicio Social/Septiembre/Archivos Utilizados/25 sep/Region Actopan/REGIÓN ACTOPAN.pdf"
Este PDF de ejemplo tiene \(48\) páginas. Queremos dividirlo en varios PDF más pequeños en este caso de \(4\) paginas. El primer PDF contendrá las páginas \(1\) a \(4\), el segundo las páginas \(5\) a \(8\), y así sucesivamente, hasta que el último PDF tenga las páginas \(45\) a \(48\). Para hacer esto, usamos lo siguiente:
La forma en que se construye el bucle for
se pensó de la
siguiente manera: se usa un rango de \(1\) a \(12\) porque \(48
÷ 4 = 12\). Queremos obtener las páginas en grupos de 4,
siguiendo este patrón:
En resumen, el patrón es el siguiente:
Por eso, se usara la siguiente linea de código en el bucle
for
:
paginas = c(((4*n) - 3):(4*n))
Continuacion del codigo
for (n in 1:12) {
output_file = paste0("C:/Users/eagel/OneDrive/Escritorio/Lalo/Escuela/Servicio Social/Septiembre/Archivos Utilizados/25 sep/Region Actopan/Region_", n, ".pdf") # Defines como se llamara tu archivo de salida
# Páginas que quieres extraer
paginas = c( ((4*n) - 3):(4*n) ) #Aqui estoy tomando 1,2,3,4 y despues 5,6,7,8 asi de manera sucesiva
pdf_subset(input_file, pages = paginas, output = output_file) # Guarda los archivos
}
Se hará uso de una función.
Descripción: Recortas un archivo PDF en partes iguales (uniformemente).
Uso: dividir_pdf(paginas_dividir = n, entrada = “Directorio_del_pdf”)
Argumentos:
paginas_dividir Indica en cuántas partes quieres dividir tu documento PDF.
entrada Indica la dirección de tu archivo PDF.
Debes compilar la siguiente función (sin cambiar nada).
dividir_pdf = function(paginas_dividir, entrada){
library(pdftools)
informacion = pdf_info(entrada)
numero_paginas = informacion$pages
directorio = dirname(entrada)
if ((numero_paginas %% paginas_dividir) == 0) {
print("Si se pudo realizar, observa tu carpeta en donde esta tu pdf")
for (n in 1:(numero_paginas/paginas_dividir)) {
output_file = paste0(dirname(entrada), "/",n, ".pdf")
paginas = c( ((paginas_dividir*n) - (paginas_dividir - 1)):(paginas_dividir*n) )
pdf_subset(entrada, pages = paginas, output = output_file)
}
} else{
print("No se puede hacer porque la división no es entera, elija otro número para dividir el PDF.")
}
}
Para usar esto, escribe dividir_pdf y coloca la información que necesitas en cada parte. Por ejemplo:
dividir_pdf(paginas_dividir = 5, entrada = "C:/Users/eagel/OneDrive/Escritorio/Lalo/Escuela/Servicio Social/Septiembre/Archivos Utilizados/25 sep/Region Actopan/REGIÓN ACTOPAN.pdf")
## [1] "No se puede hacer porque la división no es entera, elija otro número para dividir el PDF."