if (!Directory.Exists(filenameTextBox.Text))
{
MessageBox.Show("目录无效!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
return;
}
String filter = "PNG Files (*.png)|*.PNG|" + "All files (*.*)|*.*";
String strPngPath = chooseFile(filter);
if (strPngPath != null)
{
if (g_PDDoc == null)
{
g_PDDoc = new AcroPDDoc();
}
/* Add a watermark from a file.
* See the readme for a discussion on InvokeMember.
function prototype:
addWatermarkFromFile(cDIPath, nSourcePage, nStart, nEnd, bOnTop, bOnScreen, bOnPrint, nHorizAlign, nVertAlign, nHorizValue, nVertValue, bPercentage, nScale, bFixedPrint, nRotation, nOpacity)
*/
string[] fileEntries = Directory.GetFiles(filenameTextBox.Text);
foreach (string fileName in fileEntries)
{
if (fileName == null)
continue;
g_PDDoc.Open(fileName);
Object jsObj = g_PDDoc.GetJSObject();
object[] addFileWatermarkParam = { strPngPath, 0, 0, g_PDDoc.GetNumPages(), true, true, true, 2, 3, 0, 0, false, 0.4, false, 0, 0.7 };
Type T = jsObj.GetType();
T.InvokeMember(
"addWatermarkFromFile",
BindingFlags.InvokeMethod |
BindingFlags.Public |
BindingFlags.Instance,
null, jsObj, addFileWatermarkParam);
g_PDDoc.Save(1, fileName);
g_PDDoc.Close();
Console.WriteLine("处理完" + fileName);
}