2009-11-21 7 views
10

Bir etiket haritası tanımladım ve bir XML veri dosyası aldım. XML veri dosyasını iText kullanarak PDF'ye dönüştürmek istiyorum. Soru, XML'i PDF'ye dönüştürürken yazı tipine (örneğin, Lehçe yazı tipi, Çince yazı tipi) hedef PDF'ye nasıl gömülür?PDF dosyasını iText ile PDF dosyasına gömme

cevap

9

iText ile daha fazla iş yapıyorsanız, iText book'a yatırım yapmak isteyebilirsiniz - iText'in tüm özellikleri için örnekler vardır.

BaseFont helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED); 
Font font = new Font(helvetica, 12, Font.NORMAL); 

Burada daha iText yazı ile ilgili örnekler bulabilirsiniz:

Yazı tipi katıştırma tanımlayan yazı tipi oluştururken belirttiğiniz bir parametre yoktur Ancak http://1t3xt.info/examples/browse/?page=toc&id=14

+1

iText kitabında bazı örnekleri inceledim, hiç kimse benim sorunum için ipucu vermedi. Örneğinizde, font dosyasının gömülmesini göstermek için kullanılabilecek bir "BaseFont.EMBEDDED" bayrağı var. Ama yapmam gereken, XML dosyasını tanımlanmış tagmap ile PDF dizinine dönüştürmek, tüm süreç sadece bir çağrıdır. Gömme fontuna kod koyabileceğim yer yok. Örneğinizde, yazı tipini bu paragrafa gömmek için yazı tipini bir paragrafa ayarlayabiliriz. Ama tagmap ile otomatik PDF oluşturma için, fontu yerleştirmek için hangi sınıfı/arabirimi kullanabiliriz, yazı tipini nasıl ayarlayabiliriz? Teşekkürler. – moonli

+4

Sorun çözüldü. TagMap'te yapılandırmayla yazı tipi gömebiliriz. "Gömülü" özniteliği "true" olarak ayarlamak font yerleştirmeyi gösterir. Yine de teşekkürler. – moonli

+0

https://www.manning.com/books/itext-in-action-second-edition bu kitap mı? –

0

Sen PDF dönüştürmeye deneyebilirsiniz/gömülü tüm fontları olan bir.

PdfReader reader = new PdfReader(GetTemplateBytes()); 
    pst = new PdfStamper(reader, Response.OutputStream); 

    pst.Writer.SetPdfVersion(PdfWriter.PDF_VERSION_1_4); 
    pst.Writer.PDFXConformance = PdfWriter.PDFA1A; 
7

İşte bütün fontları gömmek için iText talimat gerçekten çok kolay bir yoludur. Yazı kodlarını yüklemek için bu kodu ekleyin:

FontFactory.defaultEmbedding = true; 
+1

iTextSharp dosyasında, FontFactory.DefaultEmbedding öğesinin salt okunur bir özellik olduğunu unutmayın. – howcheng