1

ベンダー向けの PDF 仕様書を作成するために使用するExcelテンプレートがあります。写真を挿入する場合を除いて、PDF ファイルを開いたり、操作したり、エクスポートしたりできます。これは、1枚の写真を追加するために使用しているコードです

workSheet.Shapes.AddPicture(imagePath, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 120, 700, image.Width, image.Height);

これはPDFファイルを保存するためのコードです:

private void createPDF()
{
     if (File.Exists(path + basePart.Number + ".pdf"))
         File.Delete(path + basePart.Number + ".pdf");
     workBook.Saved = true;
     workSheet.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, path + basePart.Number, Excel.XlFixedFormatQuality.xlQualityStandard, true,
                false, Type.Missing, Type.Missing, true, Type.Missing);
     DisposeExcelInstance();
}

画像がなくても、PDF ファイルは正常に保存されます。画像がある場合、PDF ファイルは保存されますが、開くことができません。念のため、複数の PDF ファイル リーダーを試しましたが、いずれも機能しません。

編集:

さまざまな Excel 形式を試しましたが、どれも機能しませんでした。ExportAsFixedFormatドキュメントにどのように挿入されても、画像では機能しないようです。これに代わるものはありますか?

4

2 に答える 2

3

マイクロソフトはこれに感謝します。複数のファイル形式と PDF ファイル ツールを使用して複数のコンピューターでテストを行った結果、Excel 2010 との互換性の問題であることがわかりました。

ついに予備のラップトップを手に入れたので、他の人に自分の PC で何かをテストするように盗聴するのをやめることができました。そのラップトップには Excel 2007 が搭載されていて、魔法のように機能しました。実際の問題は、信じられないかもしれませんが、Excel 2007 (テンプレートが最初に組み込まれていたバージョン) で作業しているときに、誰かがそれを [ページ レイアウト] ビューに入れたことです。写真付きのPDFファイルです。

Excel 2010 では、ページ レイアウト ビューを使用することはできますが、写真を使用することはできません。私はそれを作っていたらよかったのに。ビューがスプレッドシートの機能と実際に関係があるとは思いませんでした。これは非常に具体的な問題ですが、いつか誰かの頭痛の種がなくなることを願っています。

于 2011-06-01T20:27:07.130 に答える
0

https://stackoverflow.com/a/6207214/713819

それは本当だ。あなたが正しいです。私もこの問題に遭遇しました。過去に MS Excel 2007 を使用して作成された MS Excel テンプレートを持っていましたが、まだそれを使用していました。ただし、同じテンプレート (以前は手動で更新していた) を使用してレポート生成を自動化しようと考え、シートに画像を挿入したところ、(MS Excel 2016 の) 印刷プレビューに表示されませんでした。ExcelレポートをPDFに保存しようとしましたが、画像もPDFに表示されませんでした。

最後に、MS Excel 2016 でテンプレートを再作成する必要があり、問題は解決しました。つまり、互換性に関する MS Excel のバグであり、Microsoft によってまだ修正されていません。

とにかく、ありがとう!

于 2020-09-16T12:30:19.743 に答える