2012-05-12 17 views
9

Ben pdf svg dönüştürmek için bir araç oluşturuyorum. Bu pdf'ler, 300 dpi'de büyük bitmap'ler ve bir dizi vektör de dahil olmak üzere grafik verileri içerir. here on stackoverflow'u bulduktan sonra, harika bir şekilde - pdf2svg'u buldum, bir çekicilik gibi çalışıyor ve vektör verileri mükemmel. Ama bitmapler 72dpi'ye indirgeniyor gibi görünüyor. Boyutlar hala inç olarak 8x10'dur, ancak yakınlaştırma yaptığınızda dpi'nin doğru olmadığını söyleyebilirsiniz. Yumuşaklık, varsayılan değerlerin 72 dpi olacağını varsayar, ancak tam çözünürlükte bitmap görüntülerine ihtiyacım var.pdf 300dpi bitmaps svg dönüştürmek

pdf2svg, dönüştürmeyi yapmak için poppler ve cairo'yu kullanır. Kodda etrafta dolandım ve bir poppy sayfası ve bir cairo yüzeyi yarattığını görüyorum ve bir poplörler sayfasının bir "ölçek" kavramının ilgili olduğunu düşündüğüm documentation'da gördüğümü gördüm ama yapabilirim Nerede takılacağını anlamaya çalıştım. Deneme (deneysel olarak), yükseklik ve genişliği cairo_svg_surface_create'a doğru kodlamaya çalıştım ama gömülü bitmap'i etkilemeden tüm svg'ye uygulanan boyutları daha büyük hale getirdi. Yapmam çalışıyorum sanmıyorum

poppler_page_get_size (page, &width, &height); 

// Open the SVG file 
surface = cairo_svg_surface_create(svgFilename, width, height); 
drawcontext = cairo_create(surface); 

// Render the PDF file into the SVG file 
poppler_page_render(page, drawcontext); 
cairo_show_page(drawcontext); 

çok ezoterik, bu yüzden hemen benim hata görürsünüz kütüphanelerle deneyime sahiptir birisi umuyorum. Elbette, herhangi bir yardım, çok takdir edilecektir.

+1

Büyük soruyla

poppler_page_render(page, drawcontext); 

değiştirin, sana iyi bir cevap almak istiyoruz. – jimw

cevap

0

Neden cairo_surface_set_fallback_resolution() yardımcı olur? (Hayır, bu konuda kendimden bile emin değilim)