Extraiga las coordenadas x/y de la imagen y la información de ancho y alto de PDF a través de IL o PS

Tenemos un plano de planta diseñado profesionalmente en formato PDF para un evento que estamos realizando actualmente. Es similar a un dibujo CAD. Tenemos puestos (cuadrados rectangulares) dibujados en él.

Tengo un colega que está en el proceso de crear una aplicación de teléfono y posiblemente una aplicación web, y nos gustaría que ambas contuvieran un plano de planta interactivo que, en última instancia, será una imagen con un mapa de imagen grande dibujado sobre ella en HTML. Para lograrlo necesita las coordenadas x/y de cada cabina o x1/y1 y x2/y2.

Soy un desarrollador web de oficio, ¡así que tengan paciencia conmigo! ¿Hay alguna manera de extraer estos datos mediante programación usando Illustrator/Photoshop? Sé que puede escribir secuencias de comandos para ejecutar en ambos, pero no tendría idea de por dónde empezar.

Podría hacerlo manualmente, pero los planos de planta cambian con frecuencia, por lo que necesitaríamos una forma rápida/automática de hacerlo.

Tal vez pueda buscar una herramienta como g3data , pero esa herramienta está más orientada a tablas y gráficos.

Respuestas (4)

Siempre puede cargar el documento en Photoshop y usar la herramienta lineal para medir elementos en píxeles, pero si necesita trabajar con más de un documento en más de un caso, este enfoque terminará siendo muy tedioso y propenso a errores.

Photoshop tiene una API como usted dice para habilitar las secuencias de comandos, pero no puede extraer elementos de las secuencias de comandos ya que los elementos se rasterizan y esa información no se conserva. Sin embargo, en Illustrator, esta información se conserva y probablemente pueda extraerla a través de un script.

Sin embargo, usar scripts con Illustrator para esto no es el mejor enfoque, si planea hacerlo con frecuencia. Te estás vinculando a una plataforma que está bloqueada en una máquina, no se puede mover a un servidor, etc. Necesitará una solución más independiente.

Como PDF no es más que postscript (básicamente), siempre puede extraer contenido utilizando el lenguaje Postscript. Sin embargo, es un lenguaje bastante especializado y relativamente pocos lo conocen. No sugeriré a nadie que vaya y lo aprenda si aún no lo sabe.

El mejor enfoque en su caso probablemente sea comprar una licencia para una biblioteca de contenedores que analice todas las cosas difíciles por usted y le permita extraer elementos de una manera simple llamando a un método en él.

Como PDF está orientado a la impresión , todas las coordenadas son relativas a DPI, por lo que es algo que necesitaría convertir en su software en relación con cualquier unidad que se utilice (cm, mm, pulgadas, etc.). Pero para esto usas una fórmula muy simple.

Como no indica la plataforma de desarrollo, no puedo dar ninguna sugerencia específica sobre dicha biblioteca, pero asegúrese de que existen muchas opciones para las plataformas más comunes (.Net, Java, PHP, etc.). Pero busque cuidadosamente uno que no solo le permita crear un PDF (casi todos lo hacen), sino también leer y analizar un documento PDF (menos lo hacen).

El proceso en sí es simple:

  1. Extraiga el elemento que necesita llamando a un pequeño conjunto de funciones/métodos
  2. Obtener la coordenada y el tamaño
  3. Calcule en píxeles en relación con DPI y la unidad utilizada.
  4. Convierta el elemento en representación de mapa de bits (rasterizado).

Hola chicos y gracias por sus respuestas detalladas. Ninguno de nosotros somos expertos en PS / IL, por lo que algo de esto parece un poco complicado para lo que queríamos.

Mi colega encontró algo que hizo más o menos lo que quería, que era guardar el archivo PS como .svg, lo que aparentemente le dio un conjunto de datos de coordenadas con las que podía trabajar.

Gracias.

Tengo un script para una tarea como esta: http://pastebin.com/YHaZp7ZN

Toma los objetos seleccionados y agrega objetos de texto con coordenadas arriba. Puedes ajustarlo a tus necesidades.

No dude en ponerse en contacto conmigo acerca de esto.

¡Aviso amistoso! Alguien hizo una pregunta sobre este script , pero no tiene el representante para comentar o chatear para tratar de rastrearlo. La pregunta podría estar cerrada como está, pero si se mantiene, ¡pensé que querrías saberlo!

Hay otra forma que uso a menudo. Tienes que configurar cada corte con la herramienta de corte. CS6 Luego 1. guardar para web -> 2. menú optimizar (arriba a la derecha) -> 3. configuración: predeterminado -> 4. Sectores (del menú desplegable) -> 5. Generar CSS por ID -> 6. Aceptar + vista previa from save for web window PS genera código css, que contiene todas las medidas de los elementos y las coordenadas x/y listas para ser copiadas y pegadas en CSS.