/* ----------------------------------------------------------------- */ /// /// DownSamplingToIndex /// /// <summary> /// DownSamplings からコンボボックスのインデックスに変換します。 /// </summary> /// /// <remarks> /// 現状は全て同じ値なのでキャストを行うだけの実装となっています。 /// 今後、この 2 つの値が異なるケースが現れた場合は、このメソッドで /// 調整します。 /// </remarks> /// /* ----------------------------------------------------------------- */ public static int DownSamplingToIndex(Parameter.DownSamplings id) { foreach (Parameter.DownSamplings x in Enum.GetValues(typeof(Parameter.DownSamplings))) { if (x == id) return (int)id; } return (int)Parameter.DownSamplings.None; }
/* ----------------------------------------------------------------- */ /// /// ExistedFileToIndex /// /// <summary> /// ExistedFiles からコンボボックスのインデックスに変換します。 /// </summary> /// /// <remarks> /// 現状は全て同じ値なのでキャストを行うだけの実装となっています。 /// 今後、この 2 つの値が異なるケースが現れた場合は、このメソッドで /// 調整します。 /// </remarks> /// /* ----------------------------------------------------------------- */ public static int ExistedFileToIndex(Parameter.ExistedFiles id) { foreach (Parameter.ExistedFiles x in Enum.GetValues(typeof(Parameter.ExistedFiles))) { if (x == id) return (int)id; } return (int)Parameter.ExistedFiles.Overwrite; }
/* ----------------------------------------------------------------- */ /// /// ExistedFileString /// /// <summary> /// ExistedFiles の各値に対応する文字列を取得します。 /// </summary> /// /* ----------------------------------------------------------------- */ public static string ExistedFileString(Parameter.ExistedFiles id) { switch (id) { case Parameter.ExistedFiles.Overwrite: return "上書き"; case Parameter.ExistedFiles.MergeHead: return "先頭に結合"; case Parameter.ExistedFiles.MergeTail: return "末尾に結合"; case Parameter.ExistedFiles.Rename: return "リネーム"; default: break; } return "Unknown"; }
/* ----------------------------------------------------------------- */ /// /// DownSamplingString /// /// <summary> /// DownSamplings の各値に対応する文字列を取得します。 /// </summary> /// /* ----------------------------------------------------------------- */ public static string DownSamplingString(Parameter.DownSamplings id) { switch (id) { case Parameter.DownSamplings.None: return "なし"; case Parameter.DownSamplings.Average: return "平均化"; case Parameter.DownSamplings.Bicubic: return "バイキュービック"; case Parameter.DownSamplings.Subsample: return "サブサンプル"; default: break; } return "Unknown"; }
public void TestRunAs(Parameter.FileTypes type, Parameter.Orientations orient, bool rename_test) { var setting = CreateSetting(); setting.FileType = type; setting.Resolution = Parameter.Resolutions.Resolution72; setting.Orientation = orient; var suffix = string.Format("-{0}", orient); AssertRun(setting, suffix); if (rename_test) { setting.ExistedFile = Parameter.ExistedFiles.Rename; AssertRun(setting, suffix); } }
public void TestErrorInGhostscript(Parameter.ExistedFiles existed) { var src = IoEx.Path.Combine(_examples, "dummy.txt"); var dest = IoEx.Path.Combine(_results, "dummy.pdf"); IoEx.File.Copy(src, dest, true); var hash = GetHash(dest); var setting = CreateSetting(); setting.InputPath = src; setting.OutputPath = dest; setting.ExistedFile = existed; var converter = new Converter(); converter.Run(setting); var error = GetErrorMessage(converter); Assert.IsFalse(string.IsNullOrEmpty(error)); Assert.IsTrue(IoEx.File.Exists(dest)); Assert.AreEqual(hash, GetHash(dest)); }
/* ----------------------------------------------------------------- */ /// /// GetString /// /// <summary> /// PDFVersions の各値に対応する文字列を取得します。 /// </summary> /// /* ----------------------------------------------------------------- */ public static string GetString(Parameter.PdfVersions id) { if (id == Parameter.PdfVersions.VerPDFA) return ""; //"PDF/A"; else if (id == Parameter.PdfVersions.VerPDFX) return ""; //"PDF/X"; return Parameter.ToValue(id).ToString(); }
/* ----------------------------------------------------------------- */ /// /// GetString /// /// <summary> /// FileTypes の各値に対応する文字列を取得します。 /// </summary> /// /* ----------------------------------------------------------------- */ public static string GetString(Parameter.FileTypes id) { return Parameter.ToValue(id); }
/* ----------------------------------------------------------------- */ /// /// GetString /// /// <summary> /// Resolutions の各値に対応する文字列を取得します。 /// </summary> /// /* ----------------------------------------------------------------- */ public static string GetString(Parameter.Resolutions id) { return Parameter.ToValue(id).ToString(); }
public void TestRunAsPdfWithImageParameters( Parameter.Resolutions resolution, Parameter.DownSamplings downsampling, Parameter.ImageFilters filter) { var setting = CreateSetting(); setting.Resolution = resolution; setting.DownSampling = downsampling; setting.ImageFilter = filter; var suffix = string.Format("-{0}-{1}-{2}", downsampling, filter, resolution); AssertRun(setting, suffix); }
/* ----------------------------------------------------------------- */ /// /// ToIndex /// /// <summary> /// Resolutions からコンボボックスのインデックスに変換します。 /// </summary> /// /* ----------------------------------------------------------------- */ public static int ToIndex(Parameter.Resolutions id) { foreach (Parameter.Resolutions x in Enum.GetValues(typeof(Parameter.Resolutions))) { if (x == id) return (int)id; } return (int)Parameter.Resolutions.Resolution300; }
/* ----------------------------------------------------------------- */ /// /// ToIndex /// /// <summary> /// PdfVersions からコンボボックスのインデックスに変換します。 /// </summary> /// /* ----------------------------------------------------------------- */ public static int ToIndex(Parameter.PdfVersions id) { foreach (Parameter.PdfVersions x in Enum.GetValues(typeof(Parameter.PdfVersions))) { if (x == id) return (int)id; } return (int)Parameter.PdfVersions.Ver1_7; }
/* ----------------------------------------------------------------- */ /// /// ToIndex /// /// <summary> /// FileTypes からコンボボックスのインデックスに変換します。 /// </summary> /// /* ----------------------------------------------------------------- */ public static int ToIndex(Parameter.FileTypes id) { foreach (Parameter.FileTypes x in Enum.GetValues(typeof(Parameter.FileTypes))) { if (x == id) return (int)id; } return (int)Parameter.FileTypes.PDF; }
/* ----------------------------------------------------------------- */ /// /// FileTypeString /// /// <summary> /// FileTypes の各値に対応する文字列を取得します。 /// </summary> /// /* ----------------------------------------------------------------- */ public static string FileTypeString(Parameter.FileTypes id) { return Parameter.FileTypeValue(id); }
/* ----------------------------------------------------------------- */ /// /// PdfVersionToiText /// /// <summary> /// PdfVersions 列挙型を対応する iTextSharp の型に変換します。 /// </summary> /// /* ----------------------------------------------------------------- */ private char PdfVersionToiText(Parameter.PdfVersions id) { switch (id) { case Parameter.PdfVersions.Ver1_7: return iTextSharp.text.pdf.PdfWriter.VERSION_1_7; case Parameter.PdfVersions.Ver1_6: return iTextSharp.text.pdf.PdfWriter.VERSION_1_6; case Parameter.PdfVersions.Ver1_5: return iTextSharp.text.pdf.PdfWriter.VERSION_1_5; case Parameter.PdfVersions.Ver1_4: return iTextSharp.text.pdf.PdfWriter.VERSION_1_4; case Parameter.PdfVersions.Ver1_3: return iTextSharp.text.pdf.PdfWriter.VERSION_1_3; case Parameter.PdfVersions.Ver1_2: return iTextSharp.text.pdf.PdfWriter.VERSION_1_2; default: break; } return iTextSharp.text.pdf.PdfWriter.VERSION_1_7; }
public void TestRunAsPdf(Parameter.PdfVersions pdfver, Parameter.Orientations orient, bool webopt, bool embed) { var setting = CreateSetting(); setting.PDFVersion = pdfver; setting.Orientation = orient; setting.WebOptimize = webopt; setting.EmbedFont = embed; var suffix = string.Format("-{0}-{1}", pdfver, orient); if (webopt) suffix += "-webopt"; if (!embed) suffix += "-noembed"; AssertRun(setting, suffix); }
public void TestRunAsPdfAndMerge(Parameter.ExistedFiles merge, bool security) { var src = IoEx.Path.Combine(_examples, "example-min.ps"); var copy = IoEx.Path.Combine(_results, "merge.ps"); IoEx.File.Copy(src, copy, true); var setting = CreateSetting(); setting.InputPath = copy; if (security) setting.Permission.Password = "******"; var suffix = string.Format("-{0}-{1}", merge, security); AssertRun(setting, suffix); var hash = GetHash(setting.OutputPath); src = IoEx.Path.Combine(_examples, "example.ps"); IoEx.File.Copy(src, copy, true); setting.ExistedFile = merge; AssertRun(setting, suffix); Assert.AreNotEqual(hash, GetHash(setting.OutputPath)); }
/* ----------------------------------------------------------------- */ /// /// ToIndex /// /// <summary> /// PostProcesses からコンボボックスのインデックスに変換します。 /// </summary> /// /* ----------------------------------------------------------------- */ public static int ToIndex(Parameter.PostProcesses id) { foreach (Parameter.PostProcesses x in Enum.GetValues(typeof(Parameter.PostProcesses))) { if (x == id) return (int)id; } return (int)Parameter.PostProcesses.Open; }
/* ----------------------------------------------------------------- */ /// /// GetMinorVersion /// /// <summary> /// PDF バージョンの小数点以下の値を取得します。 /// </summary> /// /* ----------------------------------------------------------------- */ private int GetMinorVersion(Parameter.PdfVersions pdfver) { switch (pdfver) { case Parameter.PdfVersions.Ver1_2: return 2; case Parameter.PdfVersions.Ver1_3: return 3; case Parameter.PdfVersions.Ver1_4: return 4; case Parameter.PdfVersions.Ver1_5: return 5; case Parameter.PdfVersions.Ver1_6: return 6; case Parameter.PdfVersions.Ver1_7: return 7; case Parameter.PdfVersions.VerPDFA: return 3; case Parameter.PdfVersions.VerPDFX: return 3; default: return 7; } }
/* ----------------------------------------------------------------- */ /// /// GetString /// /// <summary> /// PostProcesses の各値に対応する文字列を取得します。 /// </summary> /// /* ----------------------------------------------------------------- */ public static string GetString(Parameter.PostProcesses id) { switch (id) { case Parameter.PostProcesses.Open: return "開く"; case Parameter.PostProcesses.OpenFolder: return "フォルダを開く"; case Parameter.PostProcesses.None: return "何もしない"; case Parameter.PostProcesses.UserProgram: return "ユーザープログラム"; default: break; } return "Unknown"; }