2016-09-28 257 views
0

我正在寫一些文本來使用itextsharp創建pdf。首先我創建一個pdf文檔,然後我添加頁面,然後我寫文字字體看起來有光澤和大膽相同的文字再次寫在x,y在pdf中它變得更輕等等。這太奇怪了。但它正在發生。請支持enter image description herePDF寫作文本變得更輕ItextSharp

`Dim PdfDoc As New Document(New iTextSharp.text.Rectangle(640.08F, 881.28F))  
Dim pdfWrtr As PdfWriter = PdfWriter.GetInstance(PdfDoc, New FileStream(_FolderPath & "\" & "TST" & ".pdf", FileMode.Create) 
PdfDoc.Open()                
PdfDoc.NewPage() 
Dim cb As PdfContentByte = pdfWrtr.DirectContent 
Dim bf As BaseFont = Nothing 
bf = BaseFont.CreateFont(Application.StartupPath & "\OcrB.ttf", BaseFont.CP1252, BaseFont.EMBEDDED)  
cb.SetFontAndSize(bf, 16)    
cb.BeginText()   
cb.ShowTextAligned(0, ("MMMMMMMMMMMMMMMMMMMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), 85, 850,0) 
cb.EndText() 


bf = BaseFont.CreateFont(Application.StartupPath & "\OcrB.ttf", BaseFont.CP1252, BaseFont.EMBEDDED)  
cb.SetFontAndSize(bf, 16)  
cb.BeginText()  
cb.ShowTextAligned(0, ("MMMMMMMMMMMMMMMMMMMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), 85, 800,0)      
cb.EndText()   
PdfDoc.Close()  
+0

我不知道爲什麼你有兩個不同的'cb'聲明,一個是pdfDoc.DirectContent,另一個是psDoc.DirectContent。我在代碼中也找不到psDoc。 –

+0

已編輯完成。它是發佈問題 –

+1

您的示例代碼仍然不起作用。 'DirectContent'不是'Document'的方法,它是'PdfWriter'的一種方法。 'SetFontAndSize','BeginText'和'ShowTextAligned'是PdfContentByte的方法,它們不是獨立的方法。請發佈重現問題的示例代碼,我會盡力幫助。但是如果你的示例代碼已經被破壞了,那麼我可以做的事情就不多了。 –

回答

0

你不提供PDF,你甚至沒有分享您的代碼,這使得它幾乎無法給你一個準確的答案完全相同的副本,但根據經驗,我會說你有一個與顏色混合有關的問題。

嘗試增加

pdfWrtr.RgbTransparencyBlending = true; 

在PDF的默認混合色彩空間爲CMYK,將導致在屏幕和印刷褪色。將顏色混合改爲RGB顏色將避免這種效果。