2011-02-09 18 views
5

Estoy tratando de extraer las imágenes almacenadas en PDF como transmisión. Si bien puedo hacerlo fácilmente, no puedo obtener la información precisa de rotación de la imagen. Estoy buscando información específica como MediaBox, Girar y modo paisaje/retrato.¿Dónde se almacena la información de rotación de la imagen PDF?

Cuando extraigo la imagen, su alineación no coincide con el que el usuario final ve con una herramienta de lector de PDF.

binario I comparó dos archivos PDF (en los que una imagen se hizo girar 90 en el primero y la misma imagen se hizo girar 270 en el segundo) y me encontré diferencia en un objeto de flujo particular. Sin embargo, no puedo descifrar qué es esa información de transmisión.

Éstos son los dos documentos que estoy hablando:

http://bit.ly/eQZGKJ http://bit.ly/g43Whb

Respuesta

1

a casi cada imagen se llama así CTM (matriz de transformación actual) almacenado. Le da al lector información sobre la posición, rotación y sesgo de la imagen.

4

La posición, el tamaño y la orientación de la imagen cuando aparece en la página se determina mediante la matriz de transformación actual (CTM). Debe ejecutar toda la secuencia de contenido de la página para determinar la CTM que está en su lugar cuando se muestra la imagen. Es como una representación virtual de la página PDF.

+0

Cada página también puede tener un valor de rotación de página en el objeto de página que puede necesitar factorizar –

+0

La posición de la imagen en las coordenadas de página no cambia con la rotación de página, pero si desea la posición de la imagen en pantalla coordenadas (muestra la página y desea saber dónde aparece la imagen en la pantalla), entonces debe considerar también la rotación de la página. – iPDFdev

+0

@iPDFdev como lo consigo (extracto) CTM información del archivo PDF, ¿hay algún utilidades Linux disponible para eso? –

0

También puede tener un clip por lo que sólo puede ver parte de la imagen. MediaBox y la rotación se refieren a toda la página.

1

Comprobar cm operador, lo que se describe en referencia pdf como "Modificar la matriz de transformación actual (CTM) mediante la concatenación de la matriz especificada (véase la Sección 4.2.1,‘espacios de coordenadas’). Aunque los operandos especifican una matriz, están escritos como seis números separados, no como una matriz ". En sus documentos PDF:

  1. rotated1.pdf contiene "0 550,08 -743,04 743,04 0 0 cm"
  2. rotated2.pdf contiene "0 -550,08 743,04 0 0 550.08 cm"

Por lo tanto, Puede decir que su imagen gira en 90 grados en el sentido de las agujas del reloj o en 90 grados en la dirección opuesta. (y traducido)

+0

¿cómo obtuviste esas coordenadas de CTM? –

Cuestiones relacionadas