FPDF, FPDI - kaynak belgede gömülü fontları kullanarak

3 Cevap php

Bir PDF çiftleşmiş sistem inşa etmek FPDF / FPDI kullanıyorum. Bir PDF arka planı olarak kullanılır ve düzenlenebilir edilmiş bir dizi bölge (veritabanında saklanan) içindeki tanımlamıştır. Düzenlenebilir bir bölge ancak bu benim sorum, arka plan biraz değil, bir görüntü, bir metin, ya da her ikisi olabilir.

Arka (FPDI kaynak PDF) PDF'leri veya 'şablonlar' Bazı gömülü yazı tipleri içeren, ben iki şeyi elde edebilmek istiyorum ve bunun mümkün olup olmadığını merak ediyorum.

  1. Ben çıkış belgesinde kaynak belgede gömülü herhangi bir yazı tiplerini kullanmak için güçlü olmak istiyorum.
  2. Onlar UI yazı tipi listesinde dahil edilebilir ki ben bu fontları numaralandırmak gerekir.

Açık olmak gerekirse ben, bu yazı yeniden sadece onları ithal sayfasına uygulanır zorunda değil, ama gömülü fontların birinde yeni bir metin oluşturmak için seçenek sunmak istiyoruz.

Herhangi bir işaretçiler büyük takdir.

3 Cevap

First on fonts and PDFs. If I remember correctly, when a font gets included into a PDF, all of the font can be included, or just a subset of the font covering the character faces actually being used can be embedded. Some of the PDF 'compression' tools can strip the unused font glyphs from the pdf file. (Can someone confirm/refute this?)

FPDF (ben kullanmak kütüphanesi) gelince, ben 'edit' modunda bir PDF açabilirsiniz sanmıyorum. Bu sadece bir PDF açın ve bir arka plan olarak kullanabilirsiniz - belgenin etkili bir görüntü. Katkıda komut ile hızlı bir bakış (sadece belge üzerinde meta-bilgi alabilirsiniz bir yanında) gerçek bir PDF dosyası açılacaktır hiçbir komut göstermek için görünür.

There are other options for PDF libraries. The demonstration of TCPDF I saw at the following presentation, showed that TCPDF may have more in-built capabilities the FPDF. It may be worth a look into that library? http://suburbanchicagophp.org/archives/75

Ben orjinal soru asker değilim, ama benim geçici hesaba öylesine cant yorum (eğer yönetici birleştirme lütfen) kaybetti.

Sadece netleştirmek için.

Biz nedeniyle FPDI FPDI bir seçenek değildi bırakarak, bu temel bileşeni olarak FPDI sitesinde ayrıntılı uyumluluk sorunları TCPDF üzerinde FPDF üzerinde kullanmayı seçtiniz.

Biz şablon belgesindeki sayfaları çekmek için FPDI kullanın ve (web UI kullanarak veritabanında tanımlandığı gibi) biz daha sonra her sayfanın üst üzerinde metin ve görüntüleri yerleştirmek, böylece usuage FPDI verir aynısıdır.

Ben pdf dosyalarından gömülü fontları çekerek soruyordu bu gemide başka bir soru bulundu, asker büyük bir varsayım olduğunu ve telif haklarını ihlal faaliyetleri için aday oldu.

http://stackoverflow.com/questions/823348/how-can-i-extract-fonts-from-a-pdf-file-with-perl

Bizim şablonlar bizim tasarımcılar geliyor olacak, biz şablon pdf (yerine özü daha) fontları resuse istiyorum.

Yani bu sadece bu pdf embed mevcut yazı için değil, sadece olması için düzenleme için geçer her makineyi istemiyorum, ama aynı zamanda seçmek ve doğru fontu gömmek, bizim yazı tipleridir. Bu, yazı hatta üçlü işleme çift, ve belki bazı iş sanırım yol açar.

Yukarıda sonrası cevaplardan biri ben UI yazı tipi listesinde gömülmüş yazı tiplerini görüntülemek için gereken ne exctly olan gömülmüş fontları enumurate bir Perl modülü, çok yararlı bir yönü.

Şimdi ben onlar olmalı tahmin, bir kaynaktan (şablon) pdf gömülü fontlar yeni pdf genelinde yapılmaktadır olmadığını test etmek gerekir, bu yüzden onları yeniden bir resonable yolu olmalı.

Herkes bu konuda herhangi bir geri bildirim veya bilgi varsa geri completelness için kötü yazılan bilmiyorum, emin, hala büyük mutluluk duyacağız.

P.S. Bazı editörler sıkıştırılmış pdf belgeleri oluşturmak ve kullanılmayan yazı bazı şerit olacak ki doğru olduğunu, ancak bu yapar bir editör kullanmak Yüklü söylemek bizim için çok basit bir istek veya yeniden gömmek yazı zorunda kalacak.

Daha netleştirmek için ancak Zend çok iyi çalışıyor, Zend_PDF numaralandırma ve daha sonra bir PDF gömülmüş fontları yeniden, bu tam işlevsellik için izin verir, ancak v1.4 pdf ile, daha sonra v1.4 daha PDF ile çalışmaz:

örneğin aşağıdaki Zend_PDF mümkündür ve daha sonra bir yazı adıyla yeniden yapabilirsiniz:

public static function GetFontList($background)
{
     $pdf = Zend_Pdf::load($background);
     $fonts = array(); 
     // Get all document fonts
     $fontList = $pdf->extractFonts();

    foreach ($fontList as $font) 
    {
        $fontName = $font->getFontName(Zend_Pdf_Font::NAME_POSTSCRIPT, 'en', 'UTF-8');
        $fonts[] = $fontName;
    }

    return $fonts;
}

Umarım bu kişiye yardımcı olacaktır, ancak ben bu yüzden ben FPDI değiştirmek için arıyorum sanırım 1.4 daha yüksek bir pdf sürümleri gerekir.