0

PDFSharpを使用して TIFF ファイルを PDF に挿入しています。このプロセスは正常に機能しますが、TIFF ファイルがロックされたままになります。TIFF ファイルは SMB 共有にあります。GDI バージョンは CMYK TIFF をサポートしていないため、WPF バージョンを使用しています。

var output = new PdfDocument();
var input = PdfReader.Open(template_path, PdfDocumentOpenMode.Import);

var page = input.Pages[0];
output.AddPage(page);
page = output.Pages[0];

var gfx = XGraphics.FromPdfPage(page);

var image = XImage.FromFile(tiff_path);

gfx.DrawImage(image, 500, 200, 400, 400);

output.Save(destination_path);
output.Close();

更新: これを行うだけで、TIFF がロックされたままになります。ドキュメントも XGraphics も何も開かれていません。

 using (var image = XImage.FromFile(path))
 {}

更新:これは機能し、今のところ私が行っていることです。

using (var fsImage = File.Open(tiffPath, FileMode.Open, FileAccess.Read, FileShare.None))
{
    var bitmapSource = new BitmapImage();
    bitmapSource.BeginInit();
    bitmapSource.StreamSource = fsImage;
    bitmapSource.EndInit();

    using (var image = XImage.FromBitmapSource(bitmapSource))
    {

    }
}

わいせつなことに、この厄介なコードも機能します:-)

using (var image = XImage.FromFile(tiffPath))
{

}
GC.Collect();
4

1 に答える 1