2014-12-17 5 views
0

pdf의 각 파일에 페이지 번호를 찍는 프로그램이 있습니다. 내가 가지고있는 문제는 때로는 우표가 있어야하는 곳의 텍스트가있는 경우에, 두 가지 모두를 읽을 수 없게 만드는 것입니다. 거기에있을 수있는 텍스트를 덮어 쓰거나 삭제하고 싶지 않으므로 각 스탬프가 들어가기 위해 각 페이지에 작은 공백이 추가되도록 페이지 크기를 변경하려고합니다.pdf 페이지 크기 변경

doc.Read(fi.FullName) 

      For i = 1 To doc.PageCount 

       doc.PageNumber = i 

       doc.SetInfo(doc.Page, "/MediaBox:Rect", doc.MediaBox.Left.ToString + " " + (doc.MediaBox.Top + 40).ToString + " " + (doc.MediaBox.Right + 0).ToString + " " + (doc.MediaBox.Bottom - 0).ToString) 

       pgwidth = 0 
       pgwidth = Convert.ToString(doc.CropBox.Width - 11) 
       pgheight = Convert.ToString(doc.MediaBox.Height + 40) 
       doc.Rect.String = doc.MediaBox.Left.ToString + " " + (doc.MediaBox.Top + 40).ToString + " " + (doc.MediaBox.Right + 0).ToString + " " + (doc.MediaBox.Bottom - 0).ToString 
       'doc.SetInfo(doc.Page, "/MediaBox:Rect", doc.MediaBox.Left.ToString + " " + (doc.MediaBox.Top + 40).ToString + " " + (doc.MediaBox.Right + 0).ToString + " " + (doc.MediaBox.Bottom - 40).ToString) 

       doc.Rect.String = "11 20 " + pgwidth + " 10" 
       doc.Color.String = "0 0 0" 
       'doc.FillRect() 

       'doc.Rect.String = "11 20 580 10" 

       doc.FontSize = 10 
       doc.HPos = 0 
       doc.AddText("CONFIDENTIAL") 

       bates = Bates1.Text + "_" + x.ToString("D" + batesLen.ToString) 

       doc.FontSize = 10 
       doc.HPos = 1.0 
       doc.AddText(bates) 

       x = x + 1 

      Next 

페이지 크기를 변경하는 데 성공했지만 빈 공간은 항상 페이지 상단에 나타납니다. 페이지 하단에이 공간이 필요하며 페이지의 내용을 이동하거나 번역하려는 모든 시도가 효과가 없습니다.

어떻게 본질적으로 PDF 파일의 페이지 하단을 연장 할 수 있습니까? 또는 이미있을 수있는 텍스트를 덮어 쓰지 않고 페이지 맨 아래에 페이지 스탬프를 배치하는 다른 방법이 있습니까?

+0

Mediabox 좌표는 음수가 될 수 있습니다. 상단에 40을 더하는 대신 하단에서 40을 뺍니다. 그렇지 않으면 수정 된 크기의 새 문서의 새 페이지에 전체 소스 페이지를 포함시킬 수 있습니다. –

답변

0

아마 당신은 그것의 수축 버전에서 해당 페이지를 교체 할 수 있습니다. 이것은 "인쇄 가능한 크기"를 유지하면서 당신이 배울 마진을 줄 것입니다.

는 새로운 AbCpDF 문서의 모든 페이지를 복사하고이 같은 일을하고, 그 시트의 작은 감소를 수행

Dim shrink_x, shrink_x As Integer ' play with them 
Dim oRecOriginal, oRecFinal As WebSupergoo.ABCpdf7.XRect 
oRecOriginal = oDocOriginal.Rect 
oRecFinal = oDocFinal.Rect 

oDocFinal.Rect.Inset(shrink_x, shrink_x) ' reduce sheet 
oDocFinal.AddImageDoc(oDocOriginal, 1, oRecOriginal) ' add reduced sheet