0

左、右、および上の余白を使用してページに線を引く PDF ファイルを作成する必要があります。しかし、ここでは、それによる混乱があり、これらのマージンの計算はピクセル値で行われます。では、ピクセル値にマージンを設定して線を引くにはどうすればよいでしょうか。

サンプルコードは次のとおりです。

        PdfContentByte contentByte = writer.DirectContent;
        contentByte.SetLineWidth(1);
        float x1, y1, x2, y2;
        x1 = myDocument.PageSize.Width - 84;
        x2 = myDocument.PageSize.Width - 36;
        y1 = myDocument.PageSize.Height - 56;
        y2 = myDocument.PageSize.Height - 56;
        contentByte.MoveTo(x1, y1);
        contentByte.LineTo(x2, y2);
        contentByte.Stroke();

実際には、右余白が 36px、上余白が 36px の幅 48 の線を描画したいと考えています。

それを計算するアイデアはありますか?

4

1 に答える 1

0

この方法を試してください:

string pdfpath = Server.MapPath("PDFs");
  Document doc = new Document();
  try
  {
    PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(pdfpath + "/Graphics.pdf", FileMode.Create));
    doc.Open();
    PdfContentByte cb = writer.DirectContent;
    ...

動作するPdfContentByteオブジェクトができたので、それを使用して描画を開始できます。

cb.MoveTo(doc.PageSize.Width / 2, doc.PageSize.Height / 2);
cb.LineTo(doc.PageSize.Width / 2, doc.PageSize.Height);
cb.Stroke();
cb.MoveTo(0, doc.PageSize.Height/2);
cb.LineTo(doc.PageSize.Width, doc.PageSize.Height / 2);
cb.Stroke();

ここから取った

于 2013-02-22T14:25:52.283 に答える