¿Mejor compresión de PDF/PDF dividido/Combinar PDF/optimizar biblioteca de PDF?

Las siguientes características son las características clave que esperamos lograr de una biblioteca PDF:

  • Mejor compresión (que puede manejar todo tipo de PDF)
  • recorte
  • Terrible
  • puntadas

A continuación se muestran las bibliotecas que probé hasta ahora:

  • ILovePDF - PHP (todas las funciones relacionadas con las compresiones funcionan bien, el soporte es un punto de preocupación, necesitamos un nivel de compresión aún mayor, falta la documentación detallada).
  • hummus - NodeJS (La compresión no funcionaba como se esperaba, está estropeando las fuentes/el contenido del PDF)

Sugiera cualquier otra biblioteca de procesamiento de PDF ( la mejor en la industria ) con las características mencionadas anteriormente. Estoy bien con cualquier biblioteca paga también.

Cualquier ayuda es apreciable...

¿Por "Mejor compresión" te refieres al tamaño más pequeño? o la mejor calidad al tamaño? El formato PDF admite una serie de algoritmos de compresión avanzados, donde la mejor opción depende de si la imagen es mono/gris/color. ¿Por qué es importante para usted recortar/dividir/coser? ¿Por qué es importante la compresión para usted?
Gracias @Ryan, en realidad estamos planeando dar tres tipos de compresiones: 1. Tamaño más pequeño 2. Tamaño más pequeño pero también de la mejor calidad 3. La mejor calidad Nota: está bien para nosotros si tenemos que usar diferentes bibliotecas para diferentes opciones. Dividir y unir es importante porque estamos pasando esos pdf a la plataforma móvil como 1-1 página a la vez y, por otro lado, para el extremo web, tenemos que dar un PDF completo al navegador. Ahora el punto es que el proveedor de PDF de terceros puede proporcionar el PDF en el PDF completo a la vez o en archivos de páginas separadas. Tenemos que hacer cualquiera de escupir/combinar para todos los archivos PDF.
Gracias por las aclaraciones sobre la optimización. "Dividir y unir es importante porque estamos pasando esos pdf a la plataforma móvil como 1-1 página a la vez y, por otro lado, para el extremo web, tenemos que dar un PDF completo al navegador". ¿El visor es nativo móvil o está en el navegador? ¿Por qué es importante proporcionar la página PDF 1 a la vez? Hay formas de ver archivos PDF muy grandes (por ejemplo, libros de texto escolares) sin problemas en dispositivos móviles (nativos y navegador).
Gracias @Ryan, los usuarios están en las aplicaciones móviles nativas tanto IOS/Android como no usan el navegador, pero también pueden visitar el sitio móvil, pero esa no es nuestra preocupación hasta ahora, mayo en el futuro. Se necesita PDF de 1-1 página para que el usuario no deba esperar a que se descargue el archivo completo y lo vea. Tan pronto como se descargue una página, debería ver. No podemos permitir que el usuario espere a que se complete el archivo grande. Espero que el requisito anterior pueda aclarar su duda.

Respuestas (2)

Sugeriría PDFsam y algunos de sus componentes complementarios.

PDFsam significa división y combinación de PDF.

El paquete básico es gratuito y hay versiones mejoradas para hacer algunas de las cosas que solicita. Las versiones mejoradas no son gratuitas y el precio se basa en el nivel de mejora.

Este programa se ejecuta al inicio y en segundo plano. No hay icono en la bandeja del sistema ni nada que indique que se está ejecutando. Para mí, eso lo convierte en spyware y, por lo tanto, debe evitarse.

PDFTron en realidad tiene un par de opciones para ti. Del lado del servidor, móvil nativo y HTML5.

PDFNet SDK para Linux / Android / iOS puede optimizar, dividir, recortar, unir.

Para optimizar específicamente, existe una clase Optimizer, que puede configurar de diferentes maneras para minimizar el tamaño del archivo. https://www.pdftron.com/pdfnet/samplecode/OptimizerTest.sphp.html https://groups.google.com/d/msg/pdfnet-sdk/rx3j4aYed_A/pUhdwwcLAAAJ

Para dividir, recortar, unir, consulte los siguientes ejemplos de código. https://www.pdftron.com/pdfnet/samplecode/ImpositionTest.sphp.html https://www.pdftron.com/pdfnet/samplecode/PDFPageTest.sphp.html

Sin embargo, si su objetivo es simplemente ver un archivo PDF en el móvil , ya sea de forma nativa o en el navegador, entonces esto es posible sin necesidad de dividir los documentos.

Con PDFNet SDK para Android/iOS, puede llamar a PDFViewCtrl. openUrlAsync y simplemente pase la URL al PDF. Si se cumplen las siguientes condiciones, la visualización/interacción será casi instantánea.

  1. El PDF se guarda como linealizado (Fast Web View)
  2. El servidor que aloja el archivo PDF admite encabezados de solicitud de rango de bytes.

Puede usar un SDK de PDF, como PDFNet, para asegurarse de que los archivos PDF en su servidor estén linealizados (vista web rápida).

Tenemos una aplicación de exhibición gratuita, llamada Xodo , que funciona con PDFNet y está disponible en todas las tiendas móviles, que puede instalar y evaluar.

La otra opción, y funcionará tanto con la versión nativa como con la web en dispositivos móviles, es la solución WebViewer de PDFTron . WebViewer es un visor de documentos HTML5 puro . Deberá convertir el archivo PDF a un formato web optimizado en su servidor, pero una vez hecho esto, y suponiendo que el servidor que aloja el archivo PDF acepta encabezados de solicitud de rango de bytes, WebViewer mostrará las páginas casi instantáneamente, pero nunca descargará completamente todo el archivo. documento. Esto significa que incluso en un teléfono iPhone o Android, sus usuarios pueden ver un PDF de 1GB que contiene cientos de páginas y pueden saltar a cualquier página para verla inmediatamente (acceso aleatorio).

Consulte esta presentación para obtener más información sobre WebViewer. https://prezi.com/view/Aug5ft1twZNNKfBXfTIQ/

Si desea probar nuestro SDK móvil nativo, incluidas las demostraciones de APK preconstruidas, complete este formulario. https://www.pdftron.com/pdfnet/mobile/request_trial.html

Si está interesado en el PDFNet SDK del lado del servidor, puede descargarlo aquí. https://www.pdftron.com/pdfnet/downloads.html

Si está interesado en obtener más información, no dude en ponerse en contacto con ventas o soporte en PDFTron.

Gracias @Ryan, gracias por su valiosa respuesta, lo siento mucho, pero en realidad olvidé mencionar una razón más importante que requiere dividir un PDF en páginas separadas y es decir, colocar anuncios en cada página. Entonces, si mostramos directamente ese PDF, no podemos colocar los anuncios.
¿Por qué las páginas deben dividirse para colocar anuncios en cada página? Es sencillo superponer videos/contenido sobre la parte superior de las páginas. Ya sea flotante o incluso fijo en la página. Tal vez podría explicar qué quiere decir exactamente con "colocar anuncios en cada página".