0

このサンプル コードを入手しましたが、動作していません。私の質問は、.wmf ファイルを PDF に変換/追加する方法です。

private void CreatePDF()
    {
        Document pdfDoc = new Document();
        PdfWriter.GetInstance(pdfDoc, new FileStream(@"path.pdf", FileMode.Create));

        byte[] b =  File.ReadAllBytes(@"path.wmf");

        iTextSharp.text.Image img1 = new ImgWMF(b);
        pdfDoc.Add(img1);
        pdfDoc.Close();
    }

Iam は、.wmf からバイトを読み取って、それを使用して画像を作成し、後で PDF クリエーターに追加しようとしています。

私はそのようにバイトを読み取ることができません。どんな助けでも感謝します。

よろしくお願いします、ChekaZ

4

1 に答える 1

0

ImgWMFクラスを使用する必要はありません。pdfDocステップをスキップしたため、コードは機能しません。.

私は C# 開発者ではありませんが、コードを修正する (しようとする) 方法は次のとおりです。

Document pdfDoc = new Document();
PdfWriter.GetInstance(pdfDoc, new FileStream(@"path.pdf", FileMode.Create));
pdfDoc.Open();
iTextSharp.text.Image img1 = ImgWMF.GetInstance(@"path.wmf");
pdfDoc.Add(img1);
pdfDoc.Close();

このGetInstance()メソッドは、パラメータとして渡した画像ファイルを調べます。これが機能しない場合は、スローされた例外を共有してください。

PDF ページのサイズは A4 になり、画像が収まらない (またはページが大きすぎる) 可能性があることに注意してください。その場合、最初に画像を作成し、次のように PDF を作成する必要があります。

iTextSharp.text.Image img1 = ImgWMF.GetInstance(@"path.wmf");
Document pdfDoc = new Document(img1);
PdfWriter.GetInstance(pdfDoc, new FileStream(@"path.pdf", FileMode.Create));
pdfDoc.Open();
img1.SetAbsolutePosition(0, 0);
pdfDoc.Add(img1);
pdfDoc.Close();
于 2016-11-15T11:00:57.897 に答える