मैं के रूप में आप, josephj1989 एक ही मुद्दा था, और मैंने पाया कि मैं क्या हमारे जवाब होने के लिए विश्वास करते हैं।
PDFSharp दस्तावेज में this page के अनुसार,
PDFsharp का वर्तमान क्रियान्वयन ग्राफिक्स संदर्भ का केवल एक ही लेआउट है। मूल (0, 0) शीर्ष बाएं है और निर्देशांक दाएं और नीचे बढ़ते हैं। माप की इकाई हमेशा बिंदु (1/72 इंच) होती है।
तो, मैं कहता हूं कि मैं बाईं ओर से 3 इंच की छवि खींचना चाहता हूं और 7।एक 8.5 x 11 पृष्ठ के ऊपर से 5 इंच, तो मैं कुछ इस तरह करना होगा:
PdfDocument document = GetBlankPdfDocument();
PdfPage myPage = document.AddPage();
myPage.Orientation = PdfSharp.PageOrientation.Portrait;
myPage.Width = XUnit.FromInch(8.5);
myPage.Height = XUnit.FromInch(11);
XImage myImage = GetSampleImage();
double myX = 3 * 72;
double myY = 7.5 * 72;
double someWidth = 126;
double someHeight = 36;
XGraphics gfx = XGraphics.FromPdfPage(myPage);
gfx.DrawImage(myBarcode, myX, myY, someWidth, someHeight);
मैं इस बाहर अपने आप को एक बारकोड छवि के साथ परीक्षण किया है, और मैंने पाया कि आप स्थिति को मापने के लिए उनके सूत्र का उपयोग करते हैं, आप एक इंच की 1/72 इंच अच्छी तरह से परिशुद्धता का स्तर प्राप्त कर सकते हैं। बुरा नहीं है।
तो, इस बिंदु पर, इस तरह के माप के लिए कुछ प्रकार के encapsulation बनाने के लिए अच्छा होगा ताकि हम अधिकतर काम पर ध्यान केंद्रित कर रहे हों, न कि रूपांतरण के विवरण।
public static double GetCoordinateFromInch(double inches)
{
return inches * 72;
}
हम इस तरह से अन्य सहायकों बनाने के लिए जा सकते हैं ...
public static double GetCoordinateFromCentimeter(double centimeters)
{
return centimeters * 0.39370 * 72;
}
इस तरह के सहायक तरीकों के साथ
, हम पिछले नमूना कोड के साथ ऐसा कर सकता है:
double myX = GetCoordinateFromInch(3);
double myY = GetCoordinateFromInch(7.5);
double someWidth = 126;
double someHeight = 36;
XGraphics gfx = XGraphics.FromPdfPage(myPage);
gfx.DrawImage(myBarcode, myX, myY, someWidth, someHeight);
मुझे आशा है कि यह मददगार है। मुझे यकीन है कि आप मेरे उदाहरण में क्या क्लीनर कोड लिखेंगे। इसके अतिरिक्त, इस प्रक्रिया को सुव्यवस्थित करने के लिए शायद अधिक चालाक तरीके हैं, लेकिन मैं बस यहां कुछ डालना चाहता था जो दस्तावेज़ीकरण में हमने जो देखा उसके तत्काल उपयोग करेंगे।
हैप्पी पीडीएफ रेंडरिंग!