1

ページに透明度のある .pdf ドキュメントがあります。その透明度を削除して白にする必要があります。C# でそれを行うにはどうすればよいですか? pdftron、itextsharp、またはその他の無料のライブラリを使用できます。

4

1 に答える 1

0

PDFTrons PDFNet SDK を使用すると、@mkl によって提案されているように、背景として白い四角形を挿入して、デフォルトのページの透明度を削除できます。以下は、ElementBuilderクラスを使用した例です。詳細については、ElementBuilder サンプル コードを参照してください。

using (PDFDoc doc = new PDFDoc(@"D:\in.pdf"))
using (ElementBuilder eb = new ElementBuilder())
using (ElementWriter writer = new ElementWriter())
{
    int pagenum = 1;
    writer.Begin(doc.GetPage(pagenum), ElementWriter.WriteMode.e_underlay);
    Element e = eb.CreateRect(0, 0, doc.GetPage(pagenum).GetPageWidth(), doc.GetPage(pagenum).GetPageHeight());
    e.SetPathFill(true);
    e.SetPathStroke(true);
    e.SetPathClip(false);
    e.GetGState().SetFillColorSpace(ColorSpace.CreateDeviceRGB());
    e.GetGState().SetStrokeColorSpace(ColorSpace.CreateDeviceRGB());
    e.GetGState().SetStrokeColor(new ColorPt(255, 255, 255)); // white background fill color 
    e.GetGState().SetFillColor(new ColorPt(255, 255, 255)); // stroke color white as well
    writer.WritePlacedElement(e);
    writer.End();

    doc.Save(@"D:\output.pdf", 0);
}
于 2017-09-05T23:50:14.833 に答える