Commit 9218b0c9 authored by tsuji's avatar tsuji

解像度問題修正で新たに構築した.NetFramework4.6.1版を追加

parent 45b391e7

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.1684
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSRender", "CSRender\CSRender.csproj", "{FF5750DD-484C-453F-BC0D-C59FE0BBF8BF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FF5750DD-484C-453F-BC0D-C59FE0BBF8BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FF5750DD-484C-453F-BC0D-C59FE0BBF8BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FF5750DD-484C-453F-BC0D-C59FE0BBF8BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FF5750DD-484C-453F-BC0D-C59FE0BBF8BF}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {55215199-3AE8-470F-BCC4-2ED101ED4367}
EndGlobalSection
EndGlobal
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="CSRender.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
<userSettings>
<CSRender.Properties.Settings>
<setting name="resolutionSetting" serializeAs="String">
<value>75</value>
</setting>
<setting name="formatSetting" serializeAs="String">
<value />
</setting>
<setting name="shiftPixelSetting" serializeAs="String">
<value>2</value>
</setting>
<setting name="colorMarginSetting" serializeAs="String">
<value>60</value>
</setting>
<setting name="removePointSetting" serializeAs="String">
<value>8</value>
</setting>
<setting name="shadingOffSetting" serializeAs="String">
<value>5</value>
</setting>
<setting name="workSpaceSetting" serializeAs="String">
<value />
</setting>
<setting name="referenceSetting" serializeAs="String">
<value />
</setting>
<setting name="targetSetting" serializeAs="String">
<value />
</setting>
</CSRender.Properties.Settings>
</userSettings>
</configuration>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC マニフェスト オプション
Windows のユーザー アカウント制御のレベルを変更するには、
requestedExecutionLevel ノードを以下のいずれかで置換します。
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
requestedExecutionLevel 要素を指定すると、ファイルおよびレジストリの仮想化が無効にされます。
アプリケーションが下位互換性を保つためにこの仮想化を要求する場合、この要素を
削除します。
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- このアプリケーションがテストされ、動作するよう設計された Windows バージョンの
一覧。適切な要素をコメント解除すると、最も互換性のある環境を Windows が
自動的に選択します。-->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
</application>
</compatibility>
<!-- アプリケーションが DPI 対応であり、それ以上の DPI で Windows によって自動的にスケーリングされないことを
示します。Windows Presentation Foundation (WPF) アプリケーションは自動的に DPI に対応し、オプトインする必要は
ありません。さらに、この設定にオプトインする .NET Framework 4.6 を対象とする Windows Forms アプリケーションは、
app.config ファイルで 'EnableWindowsFormsHighDpiAutoResizing' 設定を 'true' に設定する必要があります。-->
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
PerMonitor
</dpiAwareness>
</windowsSettings>
</application>
<!-- Windows のコモン コントロールとダイアログのテーマを有効にします (Windows XP 以降) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>
<Application x:Class="CSRender.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:CSRender"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
namespace CSRender
{
/// <summary>
/// App.xaml の相互作用ロジック
/// </summary>
public partial class App : Application
{
}
}
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
</startup>
</configuration>
<?xml version="1.0"?>
<doc>
<assembly>
<name>PdfiumViewer</name>
</assembly>
<members>
<member name="M:PdfiumViewer.CustomScrollControl.IsInputKey(System.Windows.Forms.Keys)">
<summary>
Determines whether the specified key is a regular input key or a special key that requires preprocessing.
</summary>
<returns>
true if the specified key is a regular input key; otherwise, false.
</returns>
<param name="keyData">One of the <see cref="T:System.Windows.Forms.Keys"/> values. </param>
</member>
<member name="T:PdfiumViewer.IPdfDocument">
<summary>
Represents a PDF document.
</summary>
</member>
<member name="P:PdfiumViewer.IPdfDocument.PageCount">
<summary>
Number of pages in the PDF document.
</summary>
</member>
<member name="P:PdfiumViewer.IPdfDocument.Bookmarks">
<summary>
Bookmarks stored in this PdfFile
</summary>
</member>
<member name="P:PdfiumViewer.IPdfDocument.PageSizes">
<summary>
Size of each page in the PDF document.
</summary>
</member>
<member name="M:PdfiumViewer.IPdfDocument.Render(System.Int32,System.Drawing.Graphics,System.Single,System.Single,System.Drawing.Rectangle,System.Boolean)">
<summary>
Renders a page of the PDF document to the provided graphics instance.
</summary>
<param name="page">Number of the page to render.</param>
<param name="graphics">Graphics instance to render the page on.</param>
<param name="dpiX">Horizontal DPI.</param>
<param name="dpiY">Vertical DPI.</param>
<param name="bounds">Bounds to render the page in.</param>
<param name="forPrinting">Render the page for printing.</param>
</member>
<member name="M:PdfiumViewer.IPdfDocument.Render(System.Int32,System.Drawing.Graphics,System.Single,System.Single,System.Drawing.Rectangle,PdfiumViewer.PdfRenderFlags)">
<summary>
Renders a page of the PDF document to the provided graphics instance.
</summary>
<param name="page">Number of the page to render.</param>
<param name="graphics">Graphics instance to render the page on.</param>
<param name="dpiX">Horizontal DPI.</param>
<param name="dpiY">Vertical DPI.</param>
<param name="bounds">Bounds to render the page in.</param>
<param name="flags">Flags used to influence the rendering.</param>
</member>
<member name="M:PdfiumViewer.IPdfDocument.Render(System.Int32,System.Single,System.Single,System.Boolean)">
<summary>
Renders a page of the PDF document to an image.
</summary>
<param name="page">Number of the page to render.</param>
<param name="dpiX">Horizontal DPI.</param>
<param name="dpiY">Vertical DPI.</param>
<param name="forPrinting">Render the page for printing.</param>
<returns>The rendered image.</returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.Render(System.Int32,System.Single,System.Single,PdfiumViewer.PdfRenderFlags)">
<summary>
Renders a page of the PDF document to an image.
</summary>
<param name="page">Number of the page to render.</param>
<param name="dpiX">Horizontal DPI.</param>
<param name="dpiY">Vertical DPI.</param>
<param name="flags">Flags used to influence the rendering.</param>
<returns>The rendered image.</returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.Render(System.Int32,System.Int32,System.Int32,System.Single,System.Single,System.Boolean)">
<summary>
Renders a page of the PDF document to an image.
</summary>
<param name="page">Number of the page to render.</param>
<param name="width">Width of the rendered image.</param>
<param name="height">Height of the rendered image.</param>
<param name="dpiX">Horizontal DPI.</param>
<param name="dpiY">Vertical DPI.</param>
<param name="forPrinting">Render the page for printing.</param>
<returns>The rendered image.</returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.Render(System.Int32,System.Int32,System.Int32,System.Single,System.Single,PdfiumViewer.PdfRenderFlags)">
<summary>
Renders a page of the PDF document to an image.
</summary>
<param name="page">Number of the page to render.</param>
<param name="width">Width of the rendered image.</param>
<param name="height">Height of the rendered image.</param>
<param name="dpiX">Horizontal DPI.</param>
<param name="dpiY">Vertical DPI.</param>
<param name="flags">Flags used to influence the rendering.</param>
<returns>The rendered image.</returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.Render(System.Int32,System.Int32,System.Int32,System.Single,System.Single,PdfiumViewer.PdfRotation,PdfiumViewer.PdfRenderFlags)">
<summary>
Renders a page of the PDF document to an image.
</summary>
<param name="page">Number of the page to render.</param>
<param name="width">Width of the rendered image.</param>
<param name="height">Height of the rendered image.</param>
<param name="dpiX">Horizontal DPI.</param>
<param name="dpiY">Vertical DPI.</param>
<param name="rotate">Rotation.</param>
<param name="flags">Flags used to influence the rendering.</param>
<returns>The rendered image.</returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.Save(System.String)">
<summary>
Save the PDF document to the specified location.
</summary>
<param name="path">Path to save the PDF document to.</param>
</member>
<member name="M:PdfiumViewer.IPdfDocument.Save(System.IO.Stream)">
<summary>
Save the PDF document to the specified location.
</summary>
<param name="stream">Stream to save the PDF document to.</param>
</member>
<member name="M:PdfiumViewer.IPdfDocument.Search(System.String,System.Boolean,System.Boolean)">
<summary>
Finds all occurences of text.
</summary>
<param name="text">The text to search for.</param>
<param name="matchCase">Whether to match case.</param>
<param name="wholeWord">Whether to match whole words only.</param>
<returns>All matches.</returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.Search(System.String,System.Boolean,System.Boolean,System.Int32)">
<summary>
Finds all occurences of text.
</summary>
<param name="text">The text to search for.</param>
<param name="matchCase">Whether to match case.</param>
<param name="wholeWord">Whether to match whole words only.</param>
<param name="page">The page to search on.</param>
<returns>All matches.</returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.Search(System.String,System.Boolean,System.Boolean,System.Int32,System.Int32)">
<summary>
Finds all occurences of text.
</summary>
<param name="text">The text to search for.</param>
<param name="matchCase">Whether to match case.</param>
<param name="wholeWord">Whether to match whole words only.</param>
<param name="startPage">The page to start searching.</param>
<param name="endPage">The page to end searching.</param>
<returns>All matches.</returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.CreatePrintDocument">
<summary>
Creates a <see cref="T:System.Drawing.Printing.PrintDocument"/> for the PDF document.
</summary>
<returns></returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.CreatePrintDocument(PdfiumViewer.PdfPrintMode)">
<summary>
Creates a <see cref="T:System.Drawing.Printing.PrintDocument"/> for the PDF document.
</summary>
<param name="printMode">Specifies the mode for printing. The default
value for this parameter is CutMargin.</param>
<returns></returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.CreatePrintDocument(PdfiumViewer.PdfPrintSettings)">
<summary>
Creates a <see cref="T:System.Drawing.Printing.PrintDocument"/> for the PDF document.
</summary>
<param name="settings">The settings used to configure the print document.</param>
<returns></returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.GetPageLinks(System.Int32,System.Drawing.Size)">
<summary>
Returns all links on the PDF page.
</summary>
<param name="page">The page to get the links for.</param>
<param name="size">The size of the page.</param>
<returns>A collection with the links on the page.</returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.DeletePage(System.Int32)">
<summary>
Delete the page from the PDF document.
</summary>
<param name="page">The page to delete.</param>
</member>
<member name="M:PdfiumViewer.IPdfDocument.RotatePage(System.Int32,PdfiumViewer.PdfRotation)">
<summary>
Rotate the page.
</summary>
<param name="page">The page to rotate.</param>
<param name="rotation">How to rotate the page.</param>
</member>
<member name="M:PdfiumViewer.IPdfDocument.GetInformation">
<summary>
Get metadata information from the PDF document.
</summary>
<returns>The PDF metadata.</returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.GetPdfText(System.Int32)">
<summary>
Get all text on the page.
</summary>
<param name="page">The page to get the text for.</param>
<returns>The text on the page.</returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.GetPdfText(PdfiumViewer.PdfTextSpan)">
<summary>
Get all text matching the text span.
</summary>
<param name="textSpan">The span to get the text for.</param>
<returns>The text matching the span.</returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.GetTextBounds(PdfiumViewer.PdfTextSpan)">
<summary>
Get all bounding rectangles for the text span.
</summary>
<description>
The algorithm used to get the bounding rectangles tries to join
adjacent character bounds into larger rectangles.
</description>
<param name="textSpan">The span to get the bounding rectangles for.</param>
<returns>The bounding rectangles.</returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.PointToPdf(System.Int32,System.Drawing.Point)">
<summary>
Convert a point from device coordinates to page coordinates.
</summary>
<param name="page">The page number where the point is from.</param>
<param name="point">The point to convert.</param>
<returns>The converted point.</returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.PointFromPdf(System.Int32,System.Drawing.PointF)">
<summary>
Convert a point from page coordinates to device coordinates.
</summary>
<param name="page">The page number where the point is from.</param>
<param name="point">The point to convert.</param>
<returns>The converted point.</returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.RectangleToPdf(System.Int32,System.Drawing.Rectangle)">
<summary>
Convert a rectangle from device coordinates to page coordinates.
</summary>
<param name="page">The page where the rectangle is from.</param>
<param name="rect">The rectangle to convert.</param>
<returns>The converted rectangle.</returns>
</member>
<member name="M:PdfiumViewer.IPdfDocument.RectangleFromPdf(System.Int32,System.Drawing.RectangleF)">
<summary>
Convert a rectangle from page coordinates to device coordinates.
</summary>
<param name="page">The page where the rectangle is from.</param>
<param name="rect">The rectangle to convert.</param>
<returns>The converted rectangle.</returns>
</member>
<member name="T:PdfiumViewer.IPdfMarker">
<summary>
Represents a marker on a PDF page.
</summary>
</member>
<member name="P:PdfiumViewer.IPdfMarker.Page">
<summary>
The page where the marker is drawn on.
</summary>
</member>
<member name="M:PdfiumViewer.IPdfMarker.Draw(PdfiumViewer.PdfRenderer,System.Drawing.Graphics)">
<summary>
Draw the marker.
</summary>
<param name="renderer">The PdfRenderer to draw the marker with.</param>
<param name="graphics">The Graphics to draw the marker with.</param>
</member>
<member name="P:PdfiumViewer.LinkClickEventArgs.Link">
<summary>
Gets the link that was clicked.
</summary>
</member>
<member name="M:PdfiumViewer.NativeMethods.FPDF_LoadCustomDocument(System.IO.Stream,System.String,System.Int32)">
<summary>
Opens a document using a .NET Stream. Allows opening huge
PDFs without loading them into memory first.
</summary>
<param name="input">The input Stream. Don't dispose prior to closing the pdf.</param>
<param name="password">Password, if the PDF is protected. Can be null.</param>
<param name="id">Retrieves an IntPtr to the COM object for the Stream. The caller must release this with Marshal.Release prior to Disposing the Stream.</param>
<returns>An IntPtr to the FPDF_DOCUMENT object.</returns>
</member>
<member name="P:PdfiumViewer.PanningZoomingScrollControl.Zoom">
<summary>
Gets or sets the current zoom level.
</summary>
</member>
<member name="M:PdfiumViewer.PanningZoomingScrollControl.ZoomIn">
<summary>
Zooms the PDF document in one step.
</summary>
</member>
<member name="M:PdfiumViewer.PanningZoomingScrollControl.ZoomOut">
<summary>
Zooms the PDF document out one step.
</summary>
</member>
<member name="M:PdfiumViewer.PanningZoomingScrollControl.OnMouseWheel(System.Windows.Forms.MouseEventArgs)">
<summary>
Raises the <see cref="E:System.Windows.Forms.Control.MouseWheel"/> event.
</summary>
<param name="e">A <see cref="T:System.Windows.Forms.MouseEventArgs"/> that contains the event data. </param>
</member>
<member name="M:PdfiumViewer.PanningZoomingScrollControl.IsInputKey(System.Windows.Forms.Keys)">
<summary>
Determines whether the specified key is a regular input key or a special key that requires preprocessing.
</summary>
<returns>
true if the specified key is a regular input key; otherwise, false.
</returns>
<param name="keyData">One of the <see cref="T:System.Windows.Forms.Keys"/> values. </param>
</member>
<member name="F:PdfiumViewer.PasswordForm.components">
<summary>
Required designer variable.
</summary>
</member>
<member name="M:PdfiumViewer.PasswordForm.Dispose(System.Boolean)">
<summary>
Clean up any resources being used.
</summary>
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
</member>
<member name="M:PdfiumViewer.PasswordForm.InitializeComponent">
<summary>
Required method for Designer support - do not modify
the contents of this method with the code editor.
</summary>
</member>
<member name="T:PdfiumViewer.PdfPrintMultiplePages">
<summary>
Configuration for printing multiple PDF pages on a single page.
</summary>
</member>
<member name="P:PdfiumViewer.PdfPrintMultiplePages.Horizontal">
<summary>
Gets the number of pages to print horizontally.
</summary>
</member>
<member name="P:PdfiumViewer.PdfPrintMultiplePages.Vertical">
<summary>
Gets the number of pages to print vertically.
</summary>
</member>
<member name="P:PdfiumViewer.PdfPrintMultiplePages.Orientation">
<summary>
Gets the orientation in which PDF pages are layed out on the
physical page.
</summary>
</member>
<member name="P:PdfiumViewer.PdfPrintMultiplePages.Margin">
<summary>
Gets the margin between PDF pages in device units.
</summary>
</member>
<member name="M:PdfiumViewer.PdfPrintMultiplePages.#ctor(System.Int32,System.Int32,System.Windows.Forms.Orientation,System.Single)">
<summary>
Creates a new instance of the PdfPrintMultiplePages class.
</summary>
<param name="horizontal">The number of pages to print horizontally.</param>
<param name="vertical">The number of pages to print vertically.</param>
<param name="orientation">The orientation in which PDF pages are layed out on
the physical page.</param>
<param name="margin">The margin between PDF pages in device units.</param>
</member>
<member name="T:PdfiumViewer.PdfPrintSettings">
<summary>
Configures the print document.
</summary>
</member>
<member name="P:PdfiumViewer.PdfPrintSettings.Mode">
<summary>
Gets the mode used to print margins.
</summary>
</member>
<member name="P:PdfiumViewer.PdfPrintSettings.MultiplePages">
<summary>
Gets configuration for printing multiple PDF pages on a single page.
</summary>
</member>
<member name="M:PdfiumViewer.PdfPrintSettings.#ctor(PdfiumViewer.PdfPrintMode,PdfiumViewer.PdfPrintMultiplePages)">
<summary>
Creates a new instance of the PdfPrintSettings class.
</summary>
<param name="mode">The mode used to print margins.</param>
<param name="multiplePages">Configuration for printing multiple PDF
pages on a single page.</param>
</member>
<member name="T:PdfiumViewer.PdfDocument">
<summary>
Provides functionality to render a PDF document.
</summary>
</member>
<member name="M:PdfiumViewer.PdfDocument.Load(System.String)">
<summary>
Initializes a new instance of the PdfDocument class with the provided path.
</summary>
<param name="path">Path to the PDF document.</param>
</member>
<member name="M:PdfiumViewer.PdfDocument.Load(System.String,System.String)">
<summary>
Initializes a new instance of the PdfDocument class with the provided path.
</summary>
<param name="path">Path to the PDF document.</param>
<param name="password">Password for the PDF document.</param>
</member>
<member name="M:PdfiumViewer.PdfDocument.Load(System.Windows.Forms.IWin32Window,System.String)">
<summary>
Initializes a new instance of the PdfDocument class with the provided path.
</summary>
<param name="owner">Window to show any UI for.</param>
<param name="path">Path to the PDF document.</param>
</member>
<member name="M:PdfiumViewer.PdfDocument.Load(System.Windows.Forms.IWin32Window,System.IO.Stream)">
<summary>
Initializes a new instance of the PdfDocument class with the provided path.
</summary>
<param name="owner">Window to show any UI for.</param>
<param name="stream">Stream for the PDF document.</param>
</member>
<member name="M:PdfiumViewer.PdfDocument.Load(System.IO.Stream)">
<summary>
Initializes a new instance of the PdfDocument class with the provided stream.
</summary>
<param name="stream">Stream for the PDF document.</param>
</member>
<member name="M:PdfiumViewer.PdfDocument.Load(System.IO.Stream,System.String)">
<summary>
Initializes a new instance of the PdfDocument class with the provided stream.
</summary>
<param name="stream">Stream for the PDF document.</param>
<param name="password">Password for the PDF document.</param>
</member>
<member name="P:PdfiumViewer.PdfDocument.PageCount">
<summary>
Number of pages in the PDF document.
</summary>
</member>
<member name="P:PdfiumViewer.PdfDocument.Bookmarks">
<summary>
Bookmarks stored in this PdfFile
</summary>
</member>
<member name="P:PdfiumViewer.PdfDocument.PageSizes">
<summary>
Size of each page in the PDF document.
</summary>
</member>
<member name="M:PdfiumViewer.PdfDocument.Render(System.Int32,System.Drawing.Graphics,System.Single,System.Single,System.Drawing.Rectangle,System.Boolean)">
<summary>
Renders a page of the PDF document to the provided graphics instance.
</summary>
<param name="page">Number of the page to render.</param>
<param name="graphics">Graphics instance to render the page on.</param>
<param name="dpiX">Horizontal DPI.</param>
<param name="dpiY">Vertical DPI.</param>
<param name="bounds">Bounds to render the page in.</param>
<param name="forPrinting">Render the page for printing.</param>
</member>
<member name="M:PdfiumViewer.PdfDocument.Render(System.Int32,System.Drawing.Graphics,System.Single,System.Single,System.Drawing.Rectangle,PdfiumViewer.PdfRenderFlags)">
<summary>
Renders a page of the PDF document to the provided graphics instance.
</summary>
<param name="page">Number of the page to render.</param>
<param name="graphics">Graphics instance to render the page on.</param>
<param name="dpiX">Horizontal DPI.</param>
<param name="dpiY">Vertical DPI.</param>
<param name="bounds">Bounds to render the page in.</param>
<param name="flags">Flags used to influence the rendering.</param>
</member>
<member name="M:PdfiumViewer.PdfDocument.Render(System.Int32,System.Single,System.Single,System.Boolean)">
<summary>
Renders a page of the PDF document to an image.
</summary>
<param name="page">Number of the page to render.</param>
<param name="dpiX">Horizontal DPI.</param>
<param name="dpiY">Vertical DPI.</param>
<param name="forPrinting">Render the page for printing.</param>
<returns>The rendered image.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.Render(System.Int32,System.Single,System.Single,PdfiumViewer.PdfRenderFlags)">
<summary>
Renders a page of the PDF document to an image.
</summary>
<param name="page">Number of the page to render.</param>
<param name="dpiX">Horizontal DPI.</param>
<param name="dpiY">Vertical DPI.</param>
<param name="flags">Flags used to influence the rendering.</param>
<returns>The rendered image.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.Render(System.Int32,System.Int32,System.Int32,System.Single,System.Single,System.Boolean)">
<summary>
Renders a page of the PDF document to an image.
</summary>
<param name="page">Number of the page to render.</param>
<param name="width">Width of the rendered image.</param>
<param name="height">Height of the rendered image.</param>
<param name="dpiX">Horizontal DPI.</param>
<param name="dpiY">Vertical DPI.</param>
<param name="forPrinting">Render the page for printing.</param>
<returns>The rendered image.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.Render(System.Int32,System.Int32,System.Int32,System.Single,System.Single,PdfiumViewer.PdfRenderFlags)">
<summary>
Renders a page of the PDF document to an image.
</summary>
<param name="page">Number of the page to render.</param>
<param name="width">Width of the rendered image.</param>
<param name="height">Height of the rendered image.</param>
<param name="dpiX">Horizontal DPI.</param>
<param name="dpiY">Vertical DPI.</param>
<param name="flags">Flags used to influence the rendering.</param>
<returns>The rendered image.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.Render(System.Int32,System.Int32,System.Int32,System.Single,System.Single,PdfiumViewer.PdfRotation,PdfiumViewer.PdfRenderFlags)">
<summary>
Renders a page of the PDF document to an image.
</summary>
<param name="page">Number of the page to render.</param>
<param name="width">Width of the rendered image.</param>
<param name="height">Height of the rendered image.</param>
<param name="dpiX">Horizontal DPI.</param>
<param name="dpiY">Vertical DPI.</param>
<param name="rotate">Rotation.</param>
<param name="flags">Flags used to influence the rendering.</param>
<returns>The rendered image.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.Save(System.String)">
<summary>
Save the PDF document to the specified location.
</summary>
<param name="path">Path to save the PDF document to.</param>
</member>
<member name="M:PdfiumViewer.PdfDocument.Save(System.IO.Stream)">
<summary>
Save the PDF document to the specified location.
</summary>
<param name="stream">Stream to save the PDF document to.</param>
</member>
<member name="M:PdfiumViewer.PdfDocument.Search(System.String,System.Boolean,System.Boolean)">
<summary>
Finds all occurences of text.
</summary>
<param name="text">The text to search for.</param>
<param name="matchCase">Whether to match case.</param>
<param name="wholeWord">Whether to match whole words only.</param>
<returns>All matches.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.Search(System.String,System.Boolean,System.Boolean,System.Int32)">
<summary>
Finds all occurences of text.
</summary>
<param name="text">The text to search for.</param>
<param name="matchCase">Whether to match case.</param>
<param name="wholeWord">Whether to match whole words only.</param>
<param name="page">The page to search on.</param>
<returns>All matches.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.Search(System.String,System.Boolean,System.Boolean,System.Int32,System.Int32)">
<summary>
Finds all occurences of text.
</summary>
<param name="text">The text to search for.</param>
<param name="matchCase">Whether to match case.</param>
<param name="wholeWord">Whether to match whole words only.</param>
<param name="startPage">The page to start searching.</param>
<param name="endPage">The page to end searching.</param>
<returns>All matches.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.GetPdfText(System.Int32)">
<summary>
Get all text on the page.
</summary>
<param name="page">The page to get the text for.</param>
<returns>The text on the page.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.GetPdfText(PdfiumViewer.PdfTextSpan)">
<summary>
Get all text matching the text span.
</summary>
<param name="textSpan">The span to get the text for.</param>
<returns>The text matching the span.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.GetTextBounds(PdfiumViewer.PdfTextSpan)">
<summary>
Get all bounding rectangles for the text span.
</summary>
<description>
The algorithm used to get the bounding rectangles tries to join
adjacent character bounds into larger rectangles.
</description>
<param name="textSpan">The span to get the bounding rectangles for.</param>
<returns>The bounding rectangles.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.PointToPdf(System.Int32,System.Drawing.Point)">
<summary>
Convert a point from device coordinates to page coordinates.
</summary>
<param name="page">The page number where the point is from.</param>
<param name="point">The point to convert.</param>
<returns>The converted point.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.PointFromPdf(System.Int32,System.Drawing.PointF)">
<summary>
Convert a point from page coordinates to device coordinates.
</summary>
<param name="page">The page number where the point is from.</param>
<param name="point">The point to convert.</param>
<returns>The converted point.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.RectangleToPdf(System.Int32,System.Drawing.Rectangle)">
<summary>
Convert a rectangle from device coordinates to page coordinates.
</summary>
<param name="page">The page where the rectangle is from.</param>
<param name="rect">The rectangle to convert.</param>
<returns>The converted rectangle.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.RectangleFromPdf(System.Int32,System.Drawing.RectangleF)">
<summary>
Convert a rectangle from page coordinates to device coordinates.
</summary>
<param name="page">The page where the rectangle is from.</param>
<param name="rect">The rectangle to convert.</param>
<returns>The converted rectangle.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.CreatePrintDocument">
<summary>
Creates a <see cref="T:System.Drawing.Printing.PrintDocument"/> for the PDF document.
</summary>
<returns></returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.CreatePrintDocument(PdfiumViewer.PdfPrintMode)">
<summary>
Creates a <see cref="T:System.Drawing.Printing.PrintDocument"/> for the PDF document.
</summary>
<param name="printMode">Specifies the mode for printing. The default
value for this parameter is CutMargin.</param>
<returns></returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.CreatePrintDocument(PdfiumViewer.PdfPrintSettings)">
<summary>
Creates a <see cref="T:System.Drawing.Printing.PrintDocument"/> for the PDF document.
</summary>
<param name="settings">The settings used to configure the print document.</param>
<returns></returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.GetPageLinks(System.Int32,System.Drawing.Size)">
<summary>
Returns all links on the PDF page.
</summary>
<param name="page">The page to get the links for.</param>
<param name="size">The size of the page.</param>
<returns>A collection with the links on the page.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.DeletePage(System.Int32)">
<summary>
Delete the page from the PDF document.
</summary>
<param name="page">The page to delete.</param>
</member>
<member name="M:PdfiumViewer.PdfDocument.RotatePage(System.Int32,PdfiumViewer.PdfRotation)">
<summary>
Rotate the page.
</summary>
<param name="page">The page to rotate.</param>
<param name="rotation">How to rotate the page.</param>
</member>
<member name="M:PdfiumViewer.PdfDocument.GetInformation">
<summary>
Get metadata information from the PDF document.
</summary>
<returns>The PDF metadata.</returns>
</member>
<member name="M:PdfiumViewer.PdfDocument.Dispose">
<summary>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</summary>
<filterpriority>2</filterpriority>
</member>
<member name="M:PdfiumViewer.PdfDocument.Dispose(System.Boolean)">
<summary>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</summary>
<param name="disposing">Whether this method is called from Dispose.</param>
</member>
<member name="T:PdfiumViewer.PdfInformation">
<summary>
Contains text from metadata of the document.
</summary>
</member>
<member name="T:PdfiumViewer.PdfSearchManager">
<summary>
Helper class for searching through PDF documents.
</summary>
</member>
<member name="P:PdfiumViewer.PdfSearchManager.Renderer">
<summary>
The renderer associated with the search manager.
</summary>
</member>
<member name="P:PdfiumViewer.PdfSearchManager.MatchCase">
<summary>
Gets or sets whether to match case.
</summary>
</member>
<member name="P:PdfiumViewer.PdfSearchManager.MatchWholeWord">
<summary>
Gets or sets whether to match whole words.
</summary>
</member>
<member name="P:PdfiumViewer.PdfSearchManager.MatchColor">
<summary>
Gets or sets the color of matched search terms.
</summary>
</member>
<member name="P:PdfiumViewer.PdfSearchManager.MatchBorderColor">
<summary>
Gets or sets the border color of matched search terms.
</summary>
</member>
<member name="P:PdfiumViewer.PdfSearchManager.MatchBorderWidth">
<summary>
Gets or sets the border width of matched search terms.
</summary>
</member>
<member name="P:PdfiumViewer.PdfSearchManager.CurrentMatchColor">
<summary>
Gets or sets the color of the current match.
</summary>
</member>
<member name="P:PdfiumViewer.PdfSearchManager.CurrentMatchBorderColor">
<summary>
Gets or sets the border color of the current match.
</summary>
</member>
<member name="P:PdfiumViewer.PdfSearchManager.CurrentMatchBorderWidth">
<summary>
Gets or sets the border width of the current match.
</summary>
</member>
<member name="P:PdfiumViewer.PdfSearchManager.HighlightAllMatches">
<summary>
Gets or sets whether all matches should be highlighted.
</summary>
</member>
<member name="M:PdfiumViewer.PdfSearchManager.#ctor(PdfiumViewer.PdfRenderer)">
<summary>
Creates a new instance of the search manager.
</summary>
<param name="renderer">The renderer to create the search manager for.</param>
</member>
<member name="M:PdfiumViewer.PdfSearchManager.Search(System.String)">
<summary>
Searches for the specified text.
</summary>
<param name="text">The text to search.</param>
<returns>Whether any matches were found.</returns>
</member>
<member name="M:PdfiumViewer.PdfSearchManager.FindNext(System.Boolean)">
<summary>
Find the next matched term.
</summary>
<param name="forward">Whether or not to search forward.</param>
<returns>False when the first match was found again; otherwise true.</returns>
</member>
<member name="M:PdfiumViewer.PdfSearchManager.Reset">
<summary>
Resets the search manager.
</summary>
</member>
<member name="T:PdfiumViewer.PdfPageLink">
<summary>
Describes a link on a page.
</summary>
</member>
<member name="P:PdfiumViewer.PdfPageLink.Bounds">
<summary>
The location of the link.
</summary>
</member>
<member name="P:PdfiumViewer.PdfPageLink.TargetPage">
<summary>
The target of the link.
</summary>
</member>
<member name="P:PdfiumViewer.PdfPageLink.Uri">
<summary>
The target URI of the link.
</summary>
</member>
<member name="M:PdfiumViewer.PdfPageLink.#ctor(System.Drawing.RectangleF,System.Nullable{System.Int32},System.String)">
<summary>
Creates a new instance of the PdfPageLink class.
</summary>
<param name="bounds">The location of the link</param>
<param name="targetPage">The target page of the link</param>
<param name="uri">The target URI of the link</param>
</member>
<member name="T:PdfiumViewer.PdfPageLinks">
<summary>
Describes all links on a page.
</summary>
</member>
<member name="P:PdfiumViewer.PdfPageLinks.Links">
<summary>
All links of the page.
</summary>
</member>
<member name="M:PdfiumViewer.PdfPageLinks.#ctor(System.Collections.Generic.IList{PdfiumViewer.PdfPageLink})">
<summary>
Creates a new instance of the PdfPageLinks class.
</summary>
<param name="links">The links on the PDF page.</param>
</member>
<member name="T:PdfiumViewer.PdfPrintMode">
<summary>
Specifies the mode in which the document should be printed.
</summary>
<remarks>
Printers have a hard margin. This is a (small) margin on which it is not
possible to print. PdfPrintMode specifies whether the page should be
scaled to fit into this margin, or that the margin should be cut off of
the page.
</remarks>
</member>
<member name="F:PdfiumViewer.PdfPrintMode.ShrinkToMargin">
<summary>
Shrink the print area to fall within the hard printer margin.
</summary>
</member>
<member name="F:PdfiumViewer.PdfPrintMode.CutMargin">
<summary>
Cut the hard printer margin from the output.
</summary>
</member>
<member name="T:PdfiumViewer.PdfRenderFlags">
<summary>
Flags that influence the page rendering process.
</summary>
</member>
<member name="F:PdfiumViewer.PdfRenderFlags.None">
<summary>
No flags.
</summary>
</member>
<member name="F:PdfiumViewer.PdfRenderFlags.ForPrinting">
<summary>
Render for printing.
</summary>
</member>
<member name="F:PdfiumViewer.PdfRenderFlags.Annotations">
<summary>
Set if annotations are to be rendered.
</summary>
</member>
<member name="F:PdfiumViewer.PdfRenderFlags.LcdText">
<summary>
Set if using text rendering optimized for LCD display.
</summary>
</member>
<member name="F:PdfiumViewer.PdfRenderFlags.NoNativeText">
<summary>
Don't use the native text output available on some platforms.
</summary>
</member>
<member name="F:PdfiumViewer.PdfRenderFlags.Grayscale">
<summary>
Grayscale output.
</summary>
</member>
<member name="F:PdfiumViewer.PdfRenderFlags.LimitImageCacheSize">
<summary>
Limit image cache size.
</summary>
</member>
<member name="F:PdfiumViewer.PdfRenderFlags.ForceHalftone">
<summary>
Always use halftone for image stretching.
</summary>
</member>
<member name="F:PdfiumViewer.PdfRenderFlags.Transparent">
<summary>
Render with a transparent background.
</summary>
</member>
<member name="F:PdfiumViewer.PdfRenderFlags.CorrectFromDpi">
<summary>
Correct height/width for DPI.
</summary>
</member>
<member name="T:PdfiumViewer.PdfRenderer">
<summary>
Control to render PDF documents.
</summary>
</member>
<member name="P:PdfiumViewer.PdfRenderer.Document">
<summary>
The associated PDF document.
</summary>
</member>
<member name="P:PdfiumViewer.PdfRenderer.TabStop">
<summary>
Gets or sets a value indicating whether the user can give the focus to this control using the TAB key.
</summary>
<returns>
true if the user can give the focus to the control using the TAB key; otherwise, false. The default is true.Note:This property will always return true for an instance of the <see cref="T:System.Windows.Forms.Form"/> class.
</returns>
<filterpriority>1</filterpriority><PermissionSet><IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/><IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/><IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode, ControlEvidence"/><IPermission class="System.Diagnostics.PerformanceCounterPermission, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/></PermissionSet>
</member>
<member name="P:PdfiumViewer.PdfRenderer.Page">
<summary>
Gets or sets the currently focused page.
</summary>
</member>
<member name="M:PdfiumViewer.PdfRenderer.GetOuterBounds(System.Int32)">
<summary>
Get the outer bounds of the page.
</summary>
<param name="page">The page to get the bounds for.</param>
<returns>The bounds of the page.</returns>
</member>
<member name="P:PdfiumViewer.PdfRenderer.ZoomMode">
<summary>
Gets or sets the way the document should be zoomed initially.
</summary>
</member>
<member name="P:PdfiumViewer.PdfRenderer.Rotation">
<summary>
Gets or sets the current rotation of the PDF document.
</summary>
</member>
<member name="P:PdfiumViewer.PdfRenderer.Markers">
<summary>
Gets a collection with all markers.
</summary>
</member>
<member name="M:PdfiumViewer.PdfRenderer.#ctor">
<summary>
Initializes a new instance of the PdfRenderer class.
</summary>
</member>
<member name="M:PdfiumViewer.PdfRenderer.PointToPdf(System.Drawing.Point)">
<summary>
Converts client coordinates to PDF coordinates.
</summary>
<param name="location">Client coordinates to get the PDF location for.</param>
<returns>The location in a PDF page or a PdfPoint with IsValid false when the coordinates do not match a PDF page.</returns>
</member>
<member name="M:PdfiumViewer.PdfRenderer.PointFromPdf(PdfiumViewer.PdfPoint)">
<summary>
Converts a PDF point to a client point.
</summary>
<param name="point">The PDF point to convert.</param>
<returns>The location of the point in client coordinates.</returns>
</member>
<member name="M:PdfiumViewer.PdfRenderer.BoundsToPdf(System.Drawing.Rectangle)">
<summary>
Converts client coordinates to PDF bounds.
</summary>
<param name="bounds">The client coordinates to convert.</param>
<returns>The PDF bounds.</returns>
</member>
<member name="M:PdfiumViewer.PdfRenderer.BoundsFromPdf(PdfiumViewer.PdfRectangle)">
<summary>
Converts PDF bounds to client bounds.
</summary>
<param name="bounds">The PDF bounds to convert.</param>
<returns>The bounds of the PDF bounds in client coordinates.</returns>
</member>
<member name="M:PdfiumViewer.PdfRenderer.OnLayout(System.Windows.Forms.LayoutEventArgs)">
<summary>
Raises the <see cref="E:System.Windows.Forms.Control.Layout"/> event.
</summary>
<param name="levent">A <see cref="T:System.Windows.Forms.LayoutEventArgs"/> that contains the event data. </param>
</member>
<member name="M:PdfiumViewer.PdfRenderer.OnZoomChanged(System.EventArgs)">
<summary>
Called when the zoom level changes.
</summary>
<param name="e">The event args.</param>
</member>
<member name="M:PdfiumViewer.PdfRenderer.Load(PdfiumViewer.IPdfDocument)">
<summary>
Load a <see cref="T:PdfiumViewer.IPdfDocument"/> into the control.
</summary>
<param name="document">Document to load.</param>
</member>
<member name="M:PdfiumViewer.PdfRenderer.OnPaint(System.Windows.Forms.PaintEventArgs)">
<summary>
Raises the <see cref="E:System.Windows.Forms.Control.Paint"/> event.
</summary>
<param name="e">A <see cref="T:System.Windows.Forms.PaintEventArgs"/> that contains the event data. </param>
</member>
<member name="M:PdfiumViewer.PdfRenderer.GetDocumentBounds">
<summary>
Gets the document bounds.
</summary>
<returns>The document bounds.</returns>
</member>
<member name="M:PdfiumViewer.PdfRenderer.OnSetCursor(PdfiumViewer.SetCursorEventArgs)">
<summary>
Called whent he cursor changes.
</summary>
<param name="e">The event args.</param>
</member>
<member name="M:PdfiumViewer.PdfRenderer.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
<summary>Raises the <see cref="E:System.Windows.Forms.Control.MouseDown" /> event.</summary>
<param name="e">A <see cref="T:System.Windows.Forms.MouseEventArgs" /> that contains the event data. </param>
</member>
<member name="M:PdfiumViewer.PdfRenderer.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
<summary>Raises the <see cref="E:System.Windows.Forms.Control.MouseUp" /> event.</summary>
<param name="e">A <see cref="T:System.Windows.Forms.MouseEventArgs" /> that contains the event data. </param>
</member>
<member name="E:PdfiumViewer.PdfRenderer.LinkClick">
<summary>
Occurs when a link in the pdf document is clicked.
</summary>
</member>
<member name="M:PdfiumViewer.PdfRenderer.OnLinkClick(PdfiumViewer.LinkClickEventArgs)">
<summary>
Called when a link is clicked.
</summary>
<param name="e">The event args.</param>
</member>
<member name="M:PdfiumViewer.PdfRenderer.RotateLeft">
<summary>
Rotate the PDF document left.
</summary>
</member>
<member name="M:PdfiumViewer.PdfRenderer.RotateRight">
<summary>
Rotate the PDF document right.
</summary>
</member>
<member name="M:PdfiumViewer.PdfRenderer.SetZoom(System.Double,System.Nullable{System.Drawing.Point})">
<summary>
Called when the zoom level changes.
</summary>
<param name="zoom">The new zoom level.</param>
<param name="focus">The location to focus on.</param>
</member>
<member name="M:PdfiumViewer.PdfRenderer.ScrollIntoView(PdfiumViewer.PdfRectangle)">
<summary>
Scroll the PDF bounds into view.
</summary>
<param name="bounds">The PDF bounds to scroll into view.</param>
</member>
<member name="M:PdfiumViewer.PdfRenderer.ScrollIntoView(System.Drawing.Rectangle)">
<summary>
Scroll the client rectangle into view.
</summary>
<param name="rectangle">The client rectangle to scroll into view.</param>
</member>
<member name="M:PdfiumViewer.PdfRenderer.Dispose(System.Boolean)">
<summary>
Releases the unmanaged resources used by the <see cref="T:System.Windows.Forms.Control"/> and its child controls and optionally releases the managed resources.
</summary>
<param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources. </param>
</member>
<member name="T:PdfiumViewer.PdfRotation">
<summary>
Specifies the rotation of pages shown in the PDF renderer.
</summary>
</member>
<member name="F:PdfiumViewer.PdfRotation.Rotate0">
<summary>
Rotates the output 0 degrees.
</summary>
</member>
<member name="F:PdfiumViewer.PdfRotation.Rotate90">
<summary>
Rotates the output 90 degrees.
</summary>
</member>
<member name="F:PdfiumViewer.PdfRotation.Rotate180">
<summary>
Rotates the output 180 degrees.
</summary>
</member>
<member name="F:PdfiumViewer.PdfRotation.Rotate270">
<summary>
Rotates the output 270 degrees.
</summary>
</member>
<member name="T:PdfiumViewer.PdfViewer">
<summary>
Control to host PDF documents with support for printing.
</summary>
</member>
<member name="P:PdfiumViewer.PdfViewer.Document">
<summary>
Gets or sets the PDF document.
</summary>
</member>
<member name="P:PdfiumViewer.PdfViewer.Renderer">
<summary>
Get the <see cref="T:PdfiumViewer.PdfRenderer"/> that renders the PDF document.
</summary>
</member>
<member name="P:PdfiumViewer.PdfViewer.DefaultDocumentName">
<summary>
Gets or sets the default document name used when saving the document.
</summary>
</member>
<member name="P:PdfiumViewer.PdfViewer.DefaultPrintMode">
<summary>
Gets or sets the default print mode.
</summary>
</member>
<member name="P:PdfiumViewer.PdfViewer.ZoomMode">
<summary>
Gets or sets the way the document should be zoomed initially.
</summary>
</member>
<member name="P:PdfiumViewer.PdfViewer.ShowToolbar">
<summary>
Gets or sets whether the toolbar should be shown.
</summary>
</member>
<member name="P:PdfiumViewer.PdfViewer.ShowBookmarks">
<summary>
Gets or sets whether the bookmarks panel should be shown.
</summary>
</member>
<member name="P:PdfiumViewer.PdfViewer.DefaultPrinter">
<summary>
Gets or sets the pre-selected printer to be used when the print
dialog shows up.
</summary>
</member>
<member name="E:PdfiumViewer.PdfViewer.LinkClick">
<summary>
Occurs when a link in the pdf document is clicked.
</summary>
</member>
<member name="M:PdfiumViewer.PdfViewer.OnLinkClick(PdfiumViewer.LinkClickEventArgs)">
<summary>
Called when a link is clicked.
</summary>
<param name="e"></param>
</member>
<member name="M:PdfiumViewer.PdfViewer.#ctor">
<summary>
Initializes a new instance of the PdfViewer class.
</summary>
</member>
<member name="F:PdfiumViewer.PdfViewer.components">
<summary>
Required designer variable.
</summary>
</member>
<member name="M:PdfiumViewer.PdfViewer.Dispose(System.Boolean)">
<summary>
Clean up any resources being used.
</summary>
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
</member>
<member name="M:PdfiumViewer.PdfViewer.InitializeComponent">
<summary>
Required method for Designer support - do not modify
the contents of this method with the code editor.
</summary>
</member>
<member name="T:PdfiumViewer.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.disk_blue">
<summary>
Looks up a localized resource of type System.Drawing.Bitmap.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.PageNumber">
<summary>
Looks up a localized string similar to Page {0}.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.printer">
<summary>
Looks up a localized resource of type System.Drawing.Bitmap.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.SaveAsFailedText">
<summary>
Looks up a localized string similar to Could not save the PDF file to the specified location..
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.SaveAsFailedTitle">
<summary>
Looks up a localized string similar to Could not save file.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.SaveAsFilter">
<summary>
Looks up a localized string similar to PDF Files (*.pdf)|*.pdf|All Files (*.*)|*.*.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.SaveAsTitle">
<summary>
Looks up a localized string similar to Save As.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.ShadeBorder_E">
<summary>
Looks up a localized resource of type System.Drawing.Bitmap.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.ShadeBorder_N">
<summary>
Looks up a localized resource of type System.Drawing.Bitmap.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.ShadeBorder_NE">
<summary>
Looks up a localized resource of type System.Drawing.Bitmap.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.ShadeBorder_NW">
<summary>
Looks up a localized resource of type System.Drawing.Bitmap.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.ShadeBorder_S">
<summary>
Looks up a localized resource of type System.Drawing.Bitmap.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.ShadeBorder_SE">
<summary>
Looks up a localized resource of type System.Drawing.Bitmap.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.ShadeBorder_SW">
<summary>
Looks up a localized resource of type System.Drawing.Bitmap.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.ShadeBorder_W">
<summary>
Looks up a localized resource of type System.Drawing.Bitmap.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.zoom_in">
<summary>
Looks up a localized resource of type System.Drawing.Bitmap.
</summary>
</member>
<member name="P:PdfiumViewer.Properties.Resources.zoom_out">
<summary>
Looks up a localized resource of type System.Drawing.Bitmap.
</summary>
</member>
</members>
</doc>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{FF5750DD-484C-453F-BC0D-C59FE0BBF8BF}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>CSRender</RootNamespace>
<AssemblyName>CSRender</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.WindowsAPICodePack, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.WindowsAPICodePack-Core.1.1.0.2\lib\Microsoft.WindowsAPICodePack.dll</HintPath>
</Reference>
<Reference Include="Microsoft.WindowsAPICodePack.Shell, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.WindowsAPICodePack-Shell.1.1.0.0\lib\Microsoft.WindowsAPICodePack.Shell.dll</HintPath>
</Reference>
<Reference Include="Microsoft.WindowsAPICodePack.ShellExtensions, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.WindowsAPICodePack-Shell.1.1.0.0\lib\Microsoft.WindowsAPICodePack.ShellExtensions.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="WindowsFormsIntegration" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
<Page Include="MainWindow.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="CompareTIFF.cs" />
<Compile Include="CustomMsgBox.cs" />
<Compile Include="FilePathSelect.cs" />
<Compile Include="MainWindow.xaml.cs">
<DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<Compile Include="OutputTiff.cs" />
<Compile Include="PageComboBox.cs" />
<Compile Include="Properties\AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<None Include="App.manifest">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</None>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Connected Services\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Controls.Primitives;
using System.Text.RegularExpressions;
using System.Diagnostics;
using System.IO;
namespace CSRender
{
class CompareTIFF
{
public static string runPureVerify(string targetDir, string referenceDir, string workPath,
string shiftPixel, string colorMargin, string removePoint, string shadingOff, bool reportFlag, string reportName)
{
//実行用コンソールの呼び出し
ProcessStartInfo processStartInfo = new ProcessStartInfo();
string appPath = System.Reflection.Assembly.GetExecutingAssembly().Location; //モジュールのパスを取得
string appDirectory = appPath.Substring(0, appPath.LastIndexOf(@"\") + 1); //モジュールの存在するディレクトリを取得
string exePath = System.IO.Path.Combine("PureVerify.Data", "RipVerify", "bin", "x64");
processStartInfo.FileName = System.IO.Path.Combine(appDirectory, exePath, "PureVerify.exe");
processStartInfo.CreateNoWindow = true; // コマンドプロンプトを非表示
processStartInfo.UseShellExecute = false; // シェル機能オフ
processStartInfo.RedirectStandardOutput = true;//標準出力をリダイレクト
//引数設定
//指定ファイル
processStartInfo.Arguments = "/tar ";
processStartInfo.Arguments += targetDir;
//リファレンスファイル
processStartInfo.Arguments += " /ref ";
processStartInfo.Arguments += referenceDir;
//EquiosCenterの場所
string EquiosCenter = System.IO.Path.Combine(appDirectory, "PureVerify.Data", "EquiosCenter");
processStartInfo.Arguments += " /equios ";
processStartInfo.Arguments += EquiosCenter;
//出力ファイル形式の引数
processStartInfo.Arguments += " /work ";
//processStartInfo.Arguments += workPath;
string workDir = System.IO.Path.Combine(appDirectory, "PureVerify.Data", "RipVerify");
processStartInfo.Arguments += workDir;
//検版の指定(2だとNGログ検版(LOG-Diff)になる)
processStartInfo.Arguments += " /operation \"1\"";
//差異箇所マークのサイズを指定
processStartInfo.Arguments += " /markdis \"50\"";
//PDFReportの画像の圧縮形式(0:ZLIB、1:LZW、2:JPEG、3:JPEG2000、4:RUN_LENGTH)
processStartInfo.Arguments += " /encode \"1\"";
//検版結果OKとなったファイルリストをPDFレポートの最後に記載(0:記載しない、1:記載する)
processStartInfo.Arguments += " /show \"1\"";
//検版品質ファイルの選択(0:弱、1:中、2:強、3:カスタム)
processStartInfo.Arguments += " /quality \"3\"";
//検版パラメータの設定
processStartInfo.Arguments += " /shiftpixel \"";
processStartInfo.Arguments += shiftPixel;
processStartInfo.Arguments += "\" /colormargin \"";
processStartInfo.Arguments += colorMargin;
processStartInfo.Arguments += "\" /removepoint \"";
processStartInfo.Arguments += removePoint;
processStartInfo.Arguments += "\" /shadingoff \"";
processStartInfo.Arguments += shadingOff;
processStartInfo.Arguments += "\"";
if (reportFlag == true)
{
processStartInfo.Arguments += " /inspReport \"";
processStartInfo.Arguments += reportName;
processStartInfo.Arguments += "\"";
}
//CSRender.exeを実行
Process process = Process.Start(processStartInfo);
process.BeginOutputReadLine();
process.WaitForExit();
process.Close();
return workDir;
}
//指定先にレポートを移動
public static void moveReport(string resultPath, string workPath)
{
string reportPath = System.IO.Path.Combine(resultPath, "report");
if (!Directory.Exists(reportPath))//指定先にreportフォルダがあるか
{
Directory.CreateDirectory(reportPath);//なければ新規でreportフォルダを作成
}
var allReport = Directory.EnumerateFiles(System.IO.Path.Combine(workPath, "report")
, "*", SearchOption.TopDirectoryOnly);//reportフォルダ内の全てのファイルを取得
foreach (string file in allReport)
{
string fileTarget = System.IO.Path.Combine(reportPath, System.IO.Path.GetFileName(file));//旧パスからファイル名を取得して新しいパスを作成
File.Copy(file, fileTarget, true);//指定先にコピー
File.Delete(file);//コピー元のファイルを削除
}
}
//検版レポートのファイル名を取得
public static string getReportName(string workPath)
{
string[] reportFilePath = System.IO.Directory.GetFiles(System.IO.Path.Combine(workPath, "report")
, "*.pdf", System.IO.SearchOption.TopDirectoryOnly);//レポートファイルのパスを取得
string ReportName = System.IO.Path.GetFileName(reportFilePath[0]);//file名を抽出
return ReportName;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Interop;
using System.Runtime.InteropServices;
namespace CSRender
{
class CustomMsgBox
{
/// <summary>
/// 親ウィンドウ
/// </summary>
private Window ownerWindow = null;
/// <summary>
/// フックハンドル
/// </summary>
private IntPtr hHook = IntPtr.Zero;
/// <summary>
/// メッセージボックスを表示する
/// </summary>
/// <param name="owner"></param>
/// <param name="messageBoxText"></param>
/// <param name="caption"></param>
/// <param name="button"></param>
/// <param name="icon"></param>
/// <returns></returns>
public static MessageBoxResult Show(
Window owner,
string messageBoxText,
string caption,
MessageBoxButton button,
MessageBoxImage icon)
{
if (owner.WindowState == WindowState.Minimized)
{
return MessageBox.Show(owner, messageBoxText, caption, button, icon);
}
else
{
CustomMsgBox mbox = new CustomMsgBox(owner);
return mbox.Show(messageBoxText, caption, button, icon);
}
}
/// <summary>
/// コンストラクタ
/// </summary>
/// <param name="window">Owner Window</param>
private CustomMsgBox(Window window)
{
ownerWindow = window;
}
/// <summary>
/// メッセージボックスを表示する
/// </summary>
/// <param name="messageBoxText"></param>
/// <param name="caption"></param>
/// <param name="button"></param>
/// <param name="icon"></param>
/// <returns></returns>
private MessageBoxResult Show(
string messageBoxText,
string caption,
MessageBoxButton button,
MessageBoxImage icon)
{
// フックを設定する。
HwndSource hwndSource = (HwndSource)HwndSource.FromVisual(ownerWindow);
IntPtr hInstance = WinAPI.GetWindowLong(hwndSource.Handle, WinAPI.GWL_HINSTANCE);
IntPtr threadId = WinAPI.GetCurrentThreadId();
hHook = WinAPI.SetWindowsHookEx(WinAPI.WH_CBT, new WinAPI.HOOKPROC(HookProc), hInstance, threadId);
return MessageBox.Show(ownerWindow, messageBoxText, caption, button, icon);
}
/// <summary>
/// フックプロシージャ
/// </summary>
/// <param name="nCode"></param>
/// <param name="wParam"></param>
/// <param name="lParam"></param>
/// <returns></returns>
private IntPtr HookProc(int nCode, IntPtr wParam, IntPtr lParam)
{
if (nCode == WinAPI.HCBT_ACTIVATE)
{
WinAPI.RECT rcForm = new WinAPI.RECT(0, 0, 0, 0);
WinAPI.RECT rcMsgBox = new WinAPI.RECT(0, 0, 0, 0);
HwndSource hwndSource = (HwndSource)HwndSource.FromVisual(ownerWindow);
WinAPI.GetWindowRect(hwndSource.Handle, out rcForm);
WinAPI.GetWindowRect(wParam, out rcMsgBox);
// センター位置を計算する。
int x = (rcForm.Left + (rcForm.Right - rcForm.Left) / 2) - ((rcMsgBox.Right - rcMsgBox.Left) / 2);
int y = (rcForm.Top + (rcForm.Bottom - rcForm.Top) / 2) - ((rcMsgBox.Bottom - rcMsgBox.Top) / 2);
WinAPI.SetWindowPos(wParam, 0, x, y, 0, 0, WinAPI.SWP_NOSIZE | WinAPI.SWP_NOZORDER | WinAPI.SWP_NOACTIVATE);
IntPtr result = WinAPI.CallNextHookEx(hHook, nCode, wParam, lParam);
// フックを解除する。
WinAPI.UnhookWindowsHookEx(hHook);
hHook = IntPtr.Zero;
return result;
}
else
{
return WinAPI.CallNextHookEx(hHook, nCode, wParam, lParam);
}
}
}
internal class WinAPI
{
[DllImport("user32.dll")]
public static extern IntPtr GetWindowLong(IntPtr hWnd, int nIndex);
[DllImport("kernel32.dll")]
public static extern IntPtr GetCurrentThreadId();
[DllImport("user32.dll")]
public static extern IntPtr SetWindowsHookEx(int idHook, HOOKPROC lpfn, IntPtr hInstance, IntPtr threadId);
[DllImport("user32.dll")]
public static extern bool UnhookWindowsHookEx(IntPtr hHook);
[DllImport("user32.dll")]
public static extern IntPtr CallNextHookEx(IntPtr hHook, int nCode, IntPtr wParam, IntPtr lParam);
[DllImport("user32.dll")]
public static extern bool SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);
[DllImport("user32.dll")]
public static extern bool GetWindowRect(IntPtr hWnd, out RECT lpRect);
public delegate IntPtr HOOKPROC(int nCode, IntPtr wParam, IntPtr lParam);
public const int GWL_HINSTANCE = (-6);
public const int WH_CBT = 5;
public const int HCBT_ACTIVATE = 5;
public const int SWP_NOSIZE = 0x0001;
public const int SWP_NOZORDER = 0x0004;
public const int SWP_NOACTIVATE = 0x0010;
public struct RECT
{
public RECT(int inLeft, int inTop, int inRight, int inBottom)
{
Left = inLeft;
Top = inTop;
Right = inRight;
Bottom = inBottom;
}
public int Left;
public int Top;
public int Right;
public int Bottom;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Controls.Primitives;
using System.Text.RegularExpressions;
using Microsoft.Win32;
using MSAPI = Microsoft.WindowsAPICodePack;
using System.IO;
namespace CSRender
{
public partial class MainWindow : Window
{
//フォルダ指定のためにファイルをドラッグ
private void textBox_PreviewDragOver(object sender, System.Windows.DragEventArgs e)
{
if (e.Data.GetDataPresent(System.Windows.DataFormats.FileDrop, true))
{
e.Effects = System.Windows.DragDropEffects.Copy;
}
else
{
e.Effects = System.Windows.DragDropEffects.None;
}
e.Handled = true;
}
//エクスプローラーからテキストボックスにドロップして指定フォルダの場所をペースト
private void TargetBox_Drop(object sender, System.Windows.DragEventArgs e)
{
var dropFiles = e.Data.GetData(System.Windows.DataFormats.FileDrop) as string[];
if (dropFiles == null) return;
//カーソルを終端に置く
targetBox.Text = dropFiles[0];
targetBox.Focus();
targetBox.Select(this.targetBox.Text.Length, 0);
}
private void RefBox_Drop(object sender, System.Windows.DragEventArgs e)
{
var dropFiles = e.Data.GetData(System.Windows.DataFormats.FileDrop) as string[];
if (dropFiles == null) return;
//カーソルを終端に置く
referenceBox.Text = dropFiles[0];
referenceBox.Focus();
referenceBox.Select(this.referenceBox.Text.Length, 0);
}
private void WorkBox_Drop(object sender, System.Windows.DragEventArgs e)
{
var dropFiles = e.Data.GetData(System.Windows.DataFormats.FileDrop) as string[];
if (dropFiles == null) return;
//カーソルを終端に置く
workBox.Text = dropFiles[0];
workBox.Focus();
workBox.Select(this.workBox.Text.Length, 0);
if (!Directory.Exists(System.IO.Path.Combine(workBox.Text, "report")))
{
Directory.CreateDirectory(System.IO.Path.Combine(workBox.Text, "report"));
}
}
private void ReportBox_Drop(object sender, System.Windows.DragEventArgs e)
{
var dropFiles = e.Data.GetData(System.Windows.DataFormats.FileDrop) as string[];
if (dropFiles == null) return;
//カーソルを終端に置く
reportBox.Text = dropFiles[0] + @"\";
reportBox.Focus();
reportBox.Select(this.reportBox.Text.Length, 0);
}
//参照ボタンClickでフォルダ選択のダイアログを表示(対象フォルダ)
private void TagetButton_Click(object sender, RoutedEventArgs e)
{
//フォルダ選択の場合
var selectFile = new MSAPI::Dialogs.CommonOpenFileDialog();
selectFile.IsFolderPicker = true;
selectFile.Title = "フォルダを選択してください";
if (Directory.Exists(targetBox.Text))//前回値が存在する場合はそのフォルダを初期値として表示
{
selectFile.InitialDirectory = targetBox.Text.Substring(0, targetBox.Text.LastIndexOf(@"\"));
}
else
{
selectFile.InitialDirectory = @"C:";
}
if (selectFile.ShowDialog() != MSAPI::Dialogs.CommonFileDialogResult.Ok)
{
return;
}
//共通部分
targetBox.Text = selectFile.FileName;
targetBox.Focus();
targetBox.Select(this.targetBox.Text.Length, 0);
}
//参照ボタンClickでフォルダ選択のダイアログを表示(リファレンスフォルダ)
private void ReferenceButton_Click(object sender, RoutedEventArgs e)
{
//フォルダ選択の場合
var selectFile = new MSAPI::Dialogs.CommonOpenFileDialog();
selectFile.IsFolderPicker = true;
selectFile.Title = "フォルダを選択してください";
if (Directory.Exists(referenceBox.Text))//前回値が存在する場合はそのフォルダを初期値として表示
{
selectFile.InitialDirectory = referenceBox.Text.Substring(0, referenceBox.Text.LastIndexOf(@"\"));
}
else
{
selectFile.InitialDirectory = @"C:";
}
if (selectFile.ShowDialog() != MSAPI::Dialogs.CommonFileDialogResult.Ok)
{
return;
}
//共通部分
referenceBox.Text = selectFile.FileName;
referenceBox.Focus();
referenceBox.Select(this.referenceBox.Text.Length, 0);
}
//参照ボタンClickでフォルダ選択のダイアログを表示(作業フォルダ)
private void WorkButton_Click(object sender, RoutedEventArgs e)
{
//フォルダ選択の場合
var selectFile = new MSAPI::Dialogs.CommonOpenFileDialog();
selectFile.IsFolderPicker = true;
selectFile.Title = "フォルダを選択してください";
if (Directory.Exists(workBox.Text))//前回値が存在する場合はそのフォルダを初期値として表示
{
selectFile.InitialDirectory = workBox.Text.Substring(0, workBox.Text.LastIndexOf(@"\"));
}
else
{
selectFile.InitialDirectory = @"C:";
}
if (selectFile.ShowDialog() != MSAPI::Dialogs.CommonFileDialogResult.Ok)
{
return;
}
//共通部分
workBox.Text = selectFile.FileName;
workBox.Focus();
workBox.Select(this.workBox.Text.Length, 0);
if (!Directory.Exists(System.IO.Path.Combine(selectFile.FileName, "report")))
{
Directory.CreateDirectory(System.IO.Path.Combine(selectFile.FileName, "report"));
}
//reportBox.Text = System.IO.Path.Combine(selectFile.FileName, "report") + @"\";
}
//参照ボタンClickでフォルダ選択のダイアログを表示(検版レポートパス)
private void ReportButton_Click(object sender, RoutedEventArgs e)
{
//フォルダ選択の場合
var selectFile = new MSAPI::Dialogs.CommonOpenFileDialog();
selectFile.IsFolderPicker = true;
selectFile.Title = "フォルダを選択してください";
if (Directory.Exists(workBox.Text))//前回値が存在する場合はそのフォルダを初期値として表示
{
selectFile.InitialDirectory = workBox.Text.Substring(0, workBox.Text.LastIndexOf(@"\"));
}
else
{
selectFile.InitialDirectory = @"C:";
}
if (selectFile.ShowDialog() != MSAPI::Dialogs.CommonFileDialogResult.Ok)
{
return;
}
//共通部分
reportBox.Text = selectFile.FileName + @"\";
reportBox.Focus();
reportBox.Select(this.reportBox.Text.Length, 0);
}
private void EditEnvFile()
{
string appPath = System.Reflection.Assembly.GetExecutingAssembly().Location; //モジュールのパスを取得
string appDirectory = appPath.Substring(0, appPath.LastIndexOf(@"\") + 1); //モジュールの存在するディレクトリを取得
string dataPath = System.IO.Path.Combine("PureVerify.Data", "RipVerify", "setup", "PureVerifyDlg.env");
string envFilePath = System.IO.Path.Combine(appDirectory, dataPath);//PureVerifyDlg.envまでのフルパス
//.envファイルに記述する内容
string equiosCenterPath = System.IO.Path.Combine(appDirectory, "PureVerify.Data", "EquiosCenter");//EquiosCenterのフルパス
string workFolderPath = System.IO.Path.Combine(appDirectory, "PureVerify.Data", "RipVerify");//内部作業フォルダのフルパス
string writeText = "**EquiosCenter: \"" + equiosCenterPath + "\"\r\n";
writeText += "**WorkDirRoot: \"" + workFolderPath + "\"\r\n";
writeText += "**InspQuality: \"3\"\r\n";
writeText += "**MarkDistance: \"50\"\r\n";
writeText += "**ReportEncodeType: \"2\"\r\n";
writeText += "**WndPosLeft: \"348\"\r\n";
writeText += "**WndPosTop: \"125\"\r\n";
writeText += "**WndPosRight: \"933\"\r\n";
writeText += "**WndPosBottom: \"556\"\r\n";
writeText += "**ShowOKList: \"1\"\r\n";
// StreamWriterオブジェクトのインスタンスを生成
StreamWriter streamWriter = new StreamWriter(envFilePath, false, Encoding.GetEncoding("Shift_JIS"));
// Writeメソッドで文字列データを書き込む
streamWriter.Write(writeText);
// StreamWriterオブジェクトを閉じる
streamWriter.Close();
}
//レポート出力パスの確認
private bool checkReportPath()
{
bool reportFlag = false;
string pdfReportPath = "";
string pdfReportName = "";
int directoryCount = 0;
if (reportBox.Text != "")//入力があるか
{
directoryCount = reportBox.Text.Split(char.Parse(@"\")).Length - 1;//入力文字列がファイル名のみかディレクトリも含むか
if (directoryCount == 0)//ファイル名のみならば作業ディレクトリのreportフォルダに出力
{
reportBox.Text = NameCalibration(reportBox.Text);
reportBox.Text = System.IO.Path.Combine(workBox.Text, "report", reportBox.Text);
}
pdfReportPath = reportBox.Text.Substring(0, reportBox.Text.LastIndexOf(@"\"));//メニュー入力から出力パスを取得
pdfReportName = reportBox.Text.Substring(reportBox.Text.LastIndexOf(@"\"));//メニュー入力からレポートファイル名を取得
if (!System.IO.Path.IsPathRooted(pdfReportPath))//指定したパス文字列にルートが含まれているかどうか
{
pdfReportPath = System.IO.Path.Combine(workBox.Text, "report", pdfReportPath);//含まれていなければ作業フォルダのreportフォルダに出力
}
if (!Directory.Exists(pdfReportPath))//指定先のフォルダが存在するか
{
Directory.CreateDirectory(pdfReportPath);//なければ作成
}
pdfReportPath = System.IO.Path.GetFullPath(pdfReportPath);//フルパスを取得
//レポートファイル名に不正文字が使用されいないかチェック
pdfReportName = NameCalibration(pdfReportName);
if (pdfReportName.Length < 4 || pdfReportName.Substring(pdfReportName.Length - 4) != ".pdf")//入力に拡張子がついているか
{
pdfReportName += ".pdf";
}
reportBox.Text = pdfReportPath + pdfReportName;
reportBox.Focus();
reportBox.Select(this.reportBox.Text.Length, 0);
reportFlag = true;
}
return reportFlag;
}
//レポート名に使用不可の文字が含まれている場合の処理
private string NameCalibration(string inFileName)
{
string[] charsToRemove = new string[] { "/", ":", "*", "?", "<", ">", "|" };
char[] charsTocheck = new char[] { '/', ':', '*', '?', '<', '>', '|' };
if (inFileName.IndexOfAny(charsTocheck) >= 0)
{
foreach (var allNg in charsToRemove)
{
inFileName = inFileName.Replace(allNg, string.Empty);
}
ResultConsole.Text += " 検版レポート名に使用できない文字が含まれていたため、自動修正しました。";
ResultConsole.Text += "\r\n\r\n";
DoEvents();
}
return inFileName;
}
}
}
<Window x:Name="mainWindow" x:Class="CSRender.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:wfc="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:local="clr-namespace:CSRender"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
mc:Ignorable="d"
Title="CSRender" Height="475" Width="600" Background="#FFF3F4F4" MinWidth="600" MinHeight="330">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="135"/>
<ColumnDefinition Width="185*"/>
<ColumnDefinition Width="175*"/>
<ColumnDefinition Width="98*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="10*"/>
<RowDefinition Height="28"/>
<RowDefinition Height="28"/>
<RowDefinition Height="28"/>
<RowDefinition Height="28"/>
<RowDefinition Height="28"/>
<RowDefinition Height="28"/>
<RowDefinition Height="28"/>
<RowDefinition Height="28"/>
<RowDefinition Height="155*"/>
<RowDefinition Height="23"/>
<RowDefinition Height="10*"/>
</Grid.RowDefinitions>
<Label Content="対象フォルダ   :" Margin="10,0,2.667,2.667" VerticalAlignment="Bottom" RenderTransformOrigin="0.544,1.949" FontSize="14" Grid.RowSpan="2" Height="28"/>
<Label Content="リファレンスフォルダ:" Margin="10,26.333,2.667,0" VerticalAlignment="Top" RenderTransformOrigin="0.544,1.949" FontSize="14" Grid.Row="1" Height="29" Grid.RowSpan="2"/>
<Label Content="作業フォルダ   :" Margin="10,27.333,2.667,0" VerticalAlignment="Top" RenderTransformOrigin="0.544,1.949" FontSize="14" Grid.Row="2" Height="29" Grid.RowSpan="3"/>
<Label Content="検版レポート名  :" Margin="10,27.333,2.667,0" VerticalAlignment="Top" RenderTransformOrigin="0.544,1.949" FontSize="14" Grid.Row="3" Height="29" Grid.RowSpan="3"/>
<Label Content="TIFFパラメーター  :" Margin="9,27.333,3.667,0" VerticalAlignment="Top" RenderTransformOrigin="0.544,1.949" FontSize="14" Grid.Row="4" Height="29" Grid.RowSpan="3"/>
<Label Content="検版パラメーター :" Margin="12,27.333,0.667,0" VerticalAlignment="Top" RenderTransformOrigin="0.544,1.949" FontSize="14" Grid.Row="6" Height="29" Grid.RowSpan="3"/>
<TextBox x:Name="targetBox" Grid.Column="1" Margin="10.333,2.333,9.333,0" FontSize="14" Grid.Row="1" Height="24" VerticalAlignment="Top" AllowDrop="True" Drop="TargetBox_Drop" DragOver="textBox_PreviewDragOver" Grid.ColumnSpan="2" BorderBrush="#FF595959"/>
<TextBox x:Name="referenceBox" Grid.Column="1" Margin="10.333,2.333,9.333,0" FontSize="14" Grid.Row="2" Height="24" VerticalAlignment="Top" AllowDrop="True" Drop="RefBox_Drop" DragOver="textBox_PreviewDragOver" Grid.ColumnSpan="2" BorderBrush="#FF595959"/>
<TextBox x:Name="workBox" Grid.Column="1" Margin="10.333,2.333,9.333,0" FontSize="14" Grid.Row="3" Height="24" VerticalAlignment="Top" AllowDrop="True" Drop="WorkBox_Drop" DragOver="textBox_PreviewDragOver" Grid.ColumnSpan="2" BorderBrush="#FF595959"/>
<TextBox x:Name="reportBox" Grid.Column="1" Margin="10.333,2.333,9.333,0" FontSize="14" Grid.Row="4" Height="24" VerticalAlignment="Top" AllowDrop="True" Drop="ReportBox_Drop" DragOver="textBox_PreviewDragOver" Grid.ColumnSpan="2" BorderBrush="#FF595959"/>
<Button x:Name="targetButton" Content="参照" Grid.Column="3" HorizontalAlignment="Left" Margin="6.667,4.333,0,0" VerticalAlignment="Top" Width="75" Grid.Row="1" Height="20" Click="TagetButton_Click"/>
<Button x:Name="referenceButton" Content="参照" Grid.Column="3" HorizontalAlignment="Left" Margin="6.667,4.333,0,0" VerticalAlignment="Top" Width="75" Grid.Row="2" Height="20" Click="ReferenceButton_Click"/>
<Button x:Name="workButton" Content="参照" Grid.Column="3" HorizontalAlignment="Left" Margin="6.667,4.333,0,0" VerticalAlignment="Top" Width="75" Grid.Row="3" Height="20" Click="WorkButton_Click"/>
<Button x:Name="reportButton" Content="参照" Grid.Column="3" HorizontalAlignment="Left" Margin="6.667,4.333,0,0" VerticalAlignment="Top" Width="75" Grid.Row="4" Height="20" Click="ReportButton_Click"/>
<Label Content="解像度(9 - 300):" Margin="0.333,0.333,64,0" VerticalAlignment="Top" RenderTransformOrigin="0.544,1.949" FontSize="14" Grid.Row="5" Height="29" Grid.RowSpan="2" Grid.Column="1"/>
<Label Content="検査範囲:" Margin="0.333,1.333,91,0" VerticalAlignment="Top" RenderTransformOrigin="0.544,1.949" FontSize="14" Grid.Row="6" Height="29" Grid.RowSpan="2" Grid.Column="1"/>
<StackPanel Grid.Column="1" Grid.Row="5" Orientation="Horizontal" HorizontalAlignment="Left" Margin="124.333,6.333,0,0.667" Width="47" Background="WhiteSmoke">
<WindowsFormsHost Margin="0,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="47" Background="Orange">
<wfc:NumericUpDown x:Name="ResolutionBox" x:FieldModifier="public" Maximum="300" Minimum="1" Value="72" ReadOnly="False" Width="47" Margin="10,10,0,0" BorderStyle="FixedSingle"/>
</WindowsFormsHost>
</StackPanel>
<StackPanel Grid.Column="1" HorizontalAlignment="Left" Margin="91.333,4.333,0,5.667" Grid.Row="6" Width="80" Grid.RowSpan="3" >
<ComboBox x:Name="PageRange" SelectedValuePath="Id" DisplayMemberPath="Item" Height="21" SelectedValue="1" SelectionChanged="PageRange_SelectionChanged" Width="80" BorderBrush="#FF3A3A3A">
<ComboBox.Background>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FFF0F0F0" Offset="0"/>
<GradientStop Color="Gainsboro" Offset="1"/>
</LinearGradientBrush>
</ComboBox.Background>
</ComboBox>
</StackPanel>
<Label Content="出力形式:" Margin="12,0.333,78.333,0" VerticalAlignment="Top" RenderTransformOrigin="0.544,1.949" FontSize="14" Grid.Row="5" Height="29" Grid.RowSpan="2" Grid.Column="2"/>
<Label x:Name="pageLabel" Content="指定ページ:" Margin="12,1.333,76.333,0" VerticalAlignment="Top" RenderTransformOrigin="0.544,1.949" FontSize="14" Grid.Row="6" Height="29" Grid.Column="2" IsEnabled="{Binding PageRange_SelectionChanged}" Grid.RowSpan="2"/>
<StackPanel Grid.Column="2" HorizontalAlignment="Left" Margin="91,5.333,0,18.667" Grid.Row="5" Width="75" Grid.RowSpan="2" >
<ComboBox x:Name="FileSelect" SelectedValuePath="Id" DisplayMemberPath="Item" Height="21" SelectedValue="1" Margin="4,0,-4.333,0" BorderBrush="#FF3A3A3A" >
<ComboBox.Background>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FFF0F0F0" Offset="0"/>
<GradientStop Color="Gainsboro" Offset="1"/>
</LinearGradientBrush>
</ComboBox.Background>
</ComboBox>
</StackPanel>
<TextBox x:Name="pageBox" Grid.Column="2" Height="23" Margin="95,3.333,45.333,0" Grid.Row="6"
TextWrapping="Wrap" Text="1,2,4-6" VerticalAlignment="Top" FontSize="14" IsEnabled="{Binding PageRange_SelectionChanged}" Grid.ColumnSpan="2"
InputMethod.IsInputMethodSuspended="True" PreviewKeyDown="PageBox_PreviewKeyDown" PreviewTextInput="PageBox_PreviewTextInput" LostFocus="PageBox_LostFocus" CommandManager.PreviewExecuted="PageBox_PreviewExecuted" BorderBrush="#FF595959"/>
<TextBox x:Name="ResultConsole" Margin="44,9.333,44.333,9.667" Grid.Row="9" Grid.ColumnSpan="4" VerticalScrollBarVisibility="Auto" FontSize="14" IsReadOnly="True" HorizontalScrollBarVisibility="Auto" BorderBrush="#FF595959"/>
<Button x:Name="TIFFButton" Content="TIFF出力" HorizontalAlignment="Left" Height="22" Margin="45,1.333,0,0" Grid.Row="10" VerticalAlignment="Top" Width="82" Grid.RowSpan="2" Click="TIFFButtonClick"/>
<Button x:Name="CompareButton" Content="比較" HorizontalAlignment="Left" Height="22" Margin="13.333,1.333,0,0" Grid.Row="10" VerticalAlignment="Top" Width="82" Grid.Column="1" Grid.RowSpan="2" Click="CompareButtonClick"/>
<Button x:Name="closeButton" Content="Close" Height="22" Margin="0,1.333,45.333,0" Grid.Row="10" VerticalAlignment="Top" Grid.Column="2" Grid.ColumnSpan="2" Grid.RowSpan="2" HorizontalAlignment="Right" Width="77" Click="CloseButton_Click"/>
<Label Content="位置ズレ許容量(0 - 2):" Margin="0.333,0.333,30,0" VerticalAlignment="Top" RenderTransformOrigin="0.544,1.949" FontSize="14" Grid.Row="7" Height="29" Grid.RowSpan="2" Grid.Column="1"/>
<StackPanel Grid.Column="1" Grid.Row="7" Orientation="Horizontal" HorizontalAlignment="Left" Margin="154.333,3.333,0,3.667" Width="27" Background="WhiteSmoke" Grid.ColumnSpan="2">
<WindowsFormsHost Margin="0,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="27" Background="Orange">
<wfc:NumericUpDown x:Name="PositionBox" x:FieldModifier="public" Maximum="2" Minimum="0" Value="2" ReadOnly="False" Width="27" Margin="10,10,0,0" BorderStyle="FixedSingle"/>
</WindowsFormsHost>
</StackPanel>
<Label Content="諧調差許容量(0 - 255):" Margin="13,0.333,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.544,1.949" FontSize="14" Grid.Row="7" Height="29" Grid.RowSpan="2" Grid.Column="2" HorizontalAlignment="Left" Width="163" Grid.ColumnSpan="2"/>
<StackPanel Grid.Column="2" Grid.Row="7" Orientation="Horizontal" HorizontalAlignment="Left" Margin="175,4.333,0,2.667" Width="40" Background="WhiteSmoke" Grid.ColumnSpan="2">
<WindowsFormsHost Margin="0,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="40" Background="Orange">
<wfc:NumericUpDown x:Name="GradationBox" x:FieldModifier="public" Maximum="255" Minimum="0" Value="60" ReadOnly="False" Width="40" Margin="10,10,0,0" BorderStyle="FixedSingle"/>
</WindowsFormsHost>
</StackPanel>
<Label Content="微小差異許容量(0 - 8):" Margin="0.333,0.333,17,0" VerticalAlignment="Top" RenderTransformOrigin="0.544,1.949" FontSize="14" Grid.Row="8" Height="29" Grid.RowSpan="2" Grid.Column="1"/>
<StackPanel Grid.Column="1" Grid.Row="8" Orientation="Horizontal" HorizontalAlignment="Left" Margin="154.333,3.333,0,3.667" Width="27" Background="WhiteSmoke" Grid.ColumnSpan="2">
<WindowsFormsHost Margin="0,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="27" Background="Orange">
<wfc:NumericUpDown x:Name="SmallDiffBox" x:FieldModifier="public" Maximum="8" Minimum="0" Value="8" ReadOnly="False" Width="27" Margin="10,10,0,0" BorderStyle="FixedSingle"/>
</WindowsFormsHost>
</StackPanel>
<Label Content="視覚的あいまい量(0 - 7):" Margin="13,0.333,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.544,1.949" FontSize="14" Grid.Row="8" Height="29" Grid.RowSpan="2" Grid.Column="2" HorizontalAlignment="Left" Width="163" Grid.ColumnSpan="2"/>
<StackPanel Grid.Column="2" Grid.Row="8" Orientation="Horizontal" Margin="175,5.333,0,1.667" Background="WhiteSmoke" HorizontalAlignment="Left" Width="40" Grid.ColumnSpan="2">
<WindowsFormsHost Margin="0,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="40" Background="Orange">
<wfc:NumericUpDown x:Name="VisualBox" x:FieldModifier="public" Maximum="7" Minimum="0" Value="5" ReadOnly="False" Width="40" Margin="10,10,0,0" BorderStyle="FixedSingle"/>
</WindowsFormsHost>
</StackPanel>
</Grid>
</Window>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Controls.Primitives;
using System.Text.RegularExpressions;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.IO;
using System.Windows.Threading;
namespace CSRender
{
/// <summary>
/// MainWindow.xaml の相互作用ロジック
/// </summary>
public partial class MainWindow : Window
{
//comboBoxのインスタンス
private ObservableCollection<ComboBoxSet> PagePattern = new ObservableCollection<ComboBoxSet>();
private ObservableCollection<ComboBoxSet> FilePattern = new ObservableCollection<ComboBoxSet>();
public MainWindow()
{
InitializeComponent();
//ページ入力メニューの設定
PagePattern.Add((new ComboBoxSet { Id = 1, Item = "全ページ" }));
PagePattern.Add((new ComboBoxSet { Id = 2, Item = "指定" }));
PageRange.ItemsSource = PagePattern;
pageBox.GotFocus += PageBox_GotFocusSelectAll;
//出力ファイル形式メニューの設定
FilePattern.Add((new ComboBoxSet { Id = 1, Item = "JPG" }));
FilePattern.Add((new ComboBoxSet { Id = 2, Item = "JPEG" }));
FilePattern.Add((new ComboBoxSet { Id = 3, Item = "PNG" }));
FilePattern.Add((new ComboBoxSet { Id = 4, Item = "TIF" }));
FilePattern.Add((new ComboBoxSet { Id = 5, Item = "TIFF" }));
FilePattern.Add((new ComboBoxSet { Id = 6, Item = "GIF" }));
FilePattern.Add((new ComboBoxSet { Id = 7, Item = "BMP" }));
FileSelect.ItemsSource = FilePattern;
//PureVerifyの内部変数(PureVerifyDlg.env)を編集
EditEnvFile();
//デフォルトに前回の設定値を表示
ResolutionBox.Value = Properties.Settings.Default.resolutionSetting;
FileSelect.Text = Properties.Settings.Default.formatSetting;
PositionBox.Value = Properties.Settings.Default.shiftPixelSetting;
GradationBox.Value = Properties.Settings.Default.colorMarginSetting;
SmallDiffBox.Value = Properties.Settings.Default.removePointSetting;
VisualBox.Value = Properties.Settings.Default.shadingOffSetting;
workBox.Text = Properties.Settings.Default.workSpaceSetting;
targetBox.Text = Properties.Settings.Default.targetSetting;
referenceBox.Text = Properties.Settings.Default.referenceSetting;
//ドラッグ&ドロップイベントの追加
targetBox.AddHandler(TextBox.DragOverEvent, new DragEventHandler(textBox_PreviewDragOver), true);
targetBox.AddHandler(TextBox.DropEvent, new DragEventHandler(TargetBox_Drop), true);
referenceBox.AddHandler(TextBox.DragOverEvent, new DragEventHandler(textBox_PreviewDragOver), true);
referenceBox.AddHandler(TextBox.DropEvent, new DragEventHandler(RefBox_Drop), true);
workBox.AddHandler(TextBox.DragOverEvent, new DragEventHandler(textBox_PreviewDragOver), true);
workBox.AddHandler(TextBox.DropEvent, new DragEventHandler(WorkBox_Drop), true);
reportBox.AddHandler(TextBox.DragOverEvent, new DragEventHandler(textBox_PreviewDragOver), true);
reportBox.AddHandler(TextBox.DropEvent, new DragEventHandler(ReportBox_Drop), true);
}
//Closeボタン実行
private void CloseButton_Click(object sender, RoutedEventArgs e) =>
Close();
/// <summary>
/// 比較ボタンを実行する。
/// </summary>
/// <param name="targetBox.Text">選択された対象フォルダ(ファイル)のパス</param>
/// <param name="mainWindow">アプリケーションのメインウインドウ</param>
/// <param name="ResultConsole.Text">出力メニューのテキストボックス</param>
/// <param name="referenceBox.Text">選択されたリファレンスフォルダ(ファイル)のパス</param>
/// <param name="workBox.Text">選択された作業フォルダのパス</param>
/// <param name="shiftPixel">位置ズレ許容量のパラメータ</param>
/// <param name="colorMargin">諧調差許容量のパラメータ</param>
/// <param name="removePoint">微小差異許容量のパラメータ</param>
/// <param name="shadingOff">視覚的あいまい量のパラメータ</param>
/// <param name="pageFlag">ページ範囲を指定するかどうかを示すフラグ</param>
/// <param name="selectedPage">TIFF変換するページ範囲</param>
/// <param name="PageRange.Text">検査範囲を選択するプルダウンメニューで選択された内容の文字列</param>
/// <param name="pageBox.Text">入力されたページを表す文字列</param>
/// <param name="targetTIFFPath">対象フォルダのTIFF画像を配置するフォルダのパス</param>
/// <param name="referenseTIFFPath">リファレンスフォルダのTIFF画像を配置するフォルダのパス</param>
/// <param name="workDir">PureVerify内部の作業フォルダのパス</param>
/// <param name="PDFName">検版レポートのファイル名</param>
/// <param name="reportFlag">PureVerify実行の際にレポート名の引数を加えるかどうかを示すフラグ</param>
/// <param name="pdfReportPath">検版レポートの出力先パス</param>
private void CompareButtonClick(object sender, RoutedEventArgs e)
{
//対象フォルダのpathチェック
if (!Directory.Exists(targetBox.Text) && !File.Exists(targetBox.Text))
{
CustomMsgBox.Show(mainWindow, "指定されたファイルあるいはフォルダが存在しません。" +
"\nもう一度設定してください。", "The specified file or folder does not exist", MessageBoxButton.OK, MessageBoxImage.Information);
ResultConsole.Text += " 指定された対象ファイルあるいはフォルダを発見できませんでした\r\n";
ResultConsole.Text += "<TIFF変換中止>\r\n";
ResultConsole.ScrollToEnd();
Properties.Settings.Default.targetSetting = "";
Properties.Settings.Default.Save();
return;
}
//リファレンスファイルのpathチェック
if (!Directory.Exists(referenceBox.Text) && !File.Exists(referenceBox.Text))
{
CustomMsgBox.Show(mainWindow, "指定されたリファレンスファイルあるいはフォルダが存在しません。" +
"\nもう一度設定してください。", "The specified reference file or folder does not exist", MessageBoxButton.OK, MessageBoxImage.Information);
ResultConsole.Text += " 指定されたリファレンスファイルあるいはフォルダを発見できませんでした\r\n";
ResultConsole.Text += "<TIFF変換中止>\r\n";
ResultConsole.ScrollToEnd();
Properties.Settings.Default.referenceSetting = "";
Properties.Settings.Default.Save();
return;
}
//出力ファイルpathのチェック
if (!Directory.Exists(workBox.Text) && !File.Exists(workBox.Text))
{
CustomMsgBox.Show(mainWindow, "指定された作業フォルダが存在しません。" +
"\nもう一度設定してください。", "The work space folder does not exist", MessageBoxButton.OK, MessageBoxImage.Information);
ResultConsole.Text += " 指定された作業フォルダを発見できませんでした\r\n";
ResultConsole.Text += "<TIFF変換中止>\r\n";
ResultConsole.ScrollToEnd();
workBox.Text = "";
Properties.Settings.Default.workSpaceSetting = workBox.Text;
Properties.Settings.Default.Save();
return;
}
string workLogPath = System.IO.Path.Combine(workBox.Text, "report");
bool reportFlag = false;
try
{
//検版レポートの入力チェック
reportFlag = checkReportPath();
}
catch (Exception ex)
{
CustomMsgBox.Show(mainWindow, ex.Message + "\r\nレポート名を初期化しました。", "例外が発生しました", MessageBoxButton.OK, MessageBoxImage.Warning);
//ログ記述
DateTime faileTIme = DateTime.Now;
string logText = "[" + faileTIme + "]" + Environment.NewLine;
logText += "例外の生じた処理:レポート名の確認" + Environment.NewLine;
logText += ex.Message + "\n" + ex.StackTrace + Environment.NewLine;
File.AppendAllText(System.IO.Path.Combine(workLogPath, "CSRender.log"), logText);
reportBox.Text = "";
//referenceErrorFlag = true;
}
//検版パラメータの取得
string shiftPixel = PositionBox.Text;
string colorMargin = GradationBox.Text;
string removePoint = SmallDiffBox.Text;
string shadingOff = VisualBox.Text;
//必要に応じてページ引数を指定
bool pageFlag = false;
string selectedPage = "";
if (PageRange.Text == "指定")
{
pageFlag = true;
selectedPage = pageBox.Text;
}
//TIFF画像の生成
ResultConsole.Text += "<TIFF変換開始>\r\n";
ResultConsole.Text += " 対象ファイルをTIFF画像に変換中\r\n";
ResultConsole.ScrollToEnd();
DoEvents();
//対象フォルダ
string targetTIFFPath = System.IO.Path.Combine(workBox.Text, "work", "targetTIFF");
if (Directory.Exists(targetTIFFPath))//指定先にTIFF用フォルダがあるか
{
Directory.Delete(targetTIFFPath, true);//あれば古いTIFF用フォルダを削除(前回作業時の生成物との混同防止)
}
Directory.CreateDirectory(targetTIFFPath);//新規でTIFF用フォルダを作成
//CSRenderの実行
try
{
string targetTIFFResult =
OutputTIFF.runCSRender(ResolutionBox.Text, "TIFF", pageFlag, selectedPage, targetBox.Text, targetTIFFPath);
}
catch (Exception ex)
{
CustomMsgBox.Show(mainWindow, ex.Message, "例外が発生しました", MessageBoxButton.OK, MessageBoxImage.Warning);
//ログ記述
DateTime faileTIme = DateTime.Now;
string logText = "[" + faileTIme + "]" + Environment.NewLine;
logText += "例外の生じた処理:対象PDFのTIFF画像生成" + Environment.NewLine;
logText += ex.Message + "\n" + ex.StackTrace + Environment.NewLine;
File.AppendAllText(System.IO.Path.Combine(workLogPath, "CSRender.log"), logText);
//referenceErrorFlag = true;
}
ResultConsole.Text += " リファレンスファイルをTIFF画像に変換中\r\n";
ResultConsole.ScrollToEnd();
DoEvents();
//リファレンスフォルダ
string referenceTIFFPath = System.IO.Path.Combine(workBox.Text, "work", "referenceTIFF");
if (Directory.Exists(referenceTIFFPath))//指定先にTIFF用フォルダがあるか
{
Directory.Delete(referenceTIFFPath, true);//あれば古いTIFF用フォルダを削除(前回作業時の生成物との混同防止)
}
Directory.CreateDirectory(referenceTIFFPath);//新規でTIFF用フォルダを作成
//CSRenderの実行
try
{
string referenceTIFFResult =
OutputTIFF.runCSRender(ResolutionBox.Text, "TIFF", pageFlag, selectedPage, referenceBox.Text, referenceTIFFPath);
}
catch (Exception ex)
{
CustomMsgBox.Show(mainWindow, ex.Message, "例外が発生しました", MessageBoxButton.OK, MessageBoxImage.Warning);
//ログ記述
DateTime faileTIme = DateTime.Now;
string logText = "[" + faileTIme + "]" + Environment.NewLine;
logText += "例外の生じた処理:リファレンスPDFのTIFF画像生成" + Environment.NewLine;
logText += ex.Message + "\n" + ex.StackTrace + Environment.NewLine;
File.AppendAllText(System.IO.Path.Combine(workLogPath, "CSRender.log"), logText);
//referenceErrorFlag = true;
}
ResultConsole.Text += "<TIFF変換完了>\r\n\r\n";
ResultConsole.ScrollToEnd();
DoEvents();
string workDir = "";
try
{
//PureVerifyの実行
workDir = CompareTIFF.runPureVerify(targetTIFFPath, referenceTIFFPath, workBox.Text
, shiftPixel, colorMargin, removePoint, shadingOff, reportFlag, reportBox.Text);
}
catch (Exception ex)
{
CustomMsgBox.Show(mainWindow, ex.Message, "例外が発生しました", MessageBoxButton.OK, MessageBoxImage.Warning);
//ログ記述
DateTime faileTIme = DateTime.Now;
string logText = "[" + faileTIme + "]" + Environment.NewLine;
logText += "例外の生じた処理:検版処理" + Environment.NewLine;
logText += ex.Message + "\n" + ex.StackTrace + Environment.NewLine;
File.AppendAllText(System.IO.Path.Combine(workLogPath, "CSRender.log"), logText);
//referenceErrorFlag = true;
}
try
{
//レポートを出力
outputLog(System.IO.Path.Combine(workDir, "report"));
}
catch (Exception ex)
{
CustomMsgBox.Show(mainWindow, ex.Message, "例外が発生しました", MessageBoxButton.OK, MessageBoxImage.Warning);
//ログ記述
DateTime faileTIme = DateTime.Now;
string logText = "[" + faileTIme + "]" + Environment.NewLine;
logText += "例外の生じた処理:検版ログの出力" + Environment.NewLine;
logText += ex.Message + "\n" + ex.StackTrace + Environment.NewLine;
File.AppendAllText(System.IO.Path.Combine(workLogPath, "CSRender.log"), logText);
//referenceErrorFlag = true;
}
string PDFName = "";
try
{
//レポート名を取得
if (reportBox.Text != "")
{
PDFName = reportBox.Text;
}
else
{
PDFName = CompareTIFF.getReportName(workDir);
}
}
catch (Exception ex)
{
CustomMsgBox.Show(mainWindow, ex.Message, "例外が発生しました", MessageBoxButton.OK, MessageBoxImage.Warning);
//ログ記述
DateTime faileTIme = DateTime.Now;
string logText = "[" + faileTIme + "]" + Environment.NewLine;
logText += "例外の生じた処理:レポート名の取得" + Environment.NewLine;
logText += ex.Message + "\n" + ex.StackTrace + Environment.NewLine;
File.AppendAllText(System.IO.Path.Combine(workLogPath, "CSRender.log"), logText);
//referenceErrorFlag = true;
}
//指定先にレポートを移動
CompareTIFF.moveReport(workBox.Text, workDir);
//レポートのパスを表示
ResultConsole.Text += " 検版レポートのパス:";
ResultConsole.Text += System.IO.Path.Combine(workBox.Text, "report", PDFName);
ResultConsole.Text += "\r\n";
if (reportBox.Text == "")
{
reportBox.Text = System.IO.Path.Combine(workBox.Text, "report", PDFName);
}
//パラメータを次回初期値用に保存
Properties.Settings.Default.resolutionSetting = ResolutionBox.Value;
Properties.Settings.Default.formatSetting = FileSelect.Text;
Properties.Settings.Default.shiftPixelSetting = PositionBox.Value;
Properties.Settings.Default.colorMarginSetting = GradationBox.Value;
Properties.Settings.Default.removePointSetting = SmallDiffBox.Value;
Properties.Settings.Default.shadingOffSetting = VisualBox.Value;
Properties.Settings.Default.workSpaceSetting = workBox.Text;
Properties.Settings.Default.targetSetting = targetBox.Text;
Properties.Settings.Default.referenceSetting = referenceBox.Text;
Properties.Settings.Default.Save();
}
/// <summary>
/// UIに検版結果を出力する。
/// </summary>
/// <param name="reportFiles">作業フォルダ内のlogファイルを全て格納する配列</param>
/// <param name="logfileName">作成されたlogファイルの名称</param>
/// <param name="logString">logファイルを読み取るリーダー</param>
/// <param name="tranceString">リーダーで読み取った行の文字列</param>
/// <param name="lineCount">リーダーがその時点で読み込んでいる行数</param>
private void outputLog(string workDir)
{
//logファイルを読み取り(1行ずつ)
string[] reportFiles = System.IO.Directory.GetFiles(workDir, "*.log", System.IO.SearchOption.TopDirectoryOnly);
string logfileName = reportFiles[0];
StreamReader logString = new StreamReader(logfileName, Encoding.GetEncoding("Shift-JIS"));//Shift-JISでエンコーディング
string tranceString = "";
int lineCount = 0;
//ファイルから読み取った結果をUIに出力
while (logString.EndOfStream == false)
{
tranceString = logString.ReadLine();
lineCount++;
//logファイルにある処理日時表示を除去
if (lineCount == 14 || lineCount == 19 || lineCount == 36 || lineCount == 37 || lineCount == 38 || lineCount == 39)
{
tranceString = tranceString.Substring(0, 66);
}
if (lineCount > 13 && lineCount < 40)//必要なところだけをUIに記述
{
ResultConsole.Text += tranceString + "\r\n";
ResultConsole.ScrollToEnd();
DoEvents();
}
}
logString.Close();
}
/// <summary>
/// TIFF画像化を実行する
/// </summary>
/// <param name="pageFlag">ページ範囲の指定があるかどうかを示すフラグ</param>
/// <param name="selectedPage">入力されたページ数</param>
/// <param name="TIFFresult">CSRenderの処理出力文</param>
///
private void TIFFButtonClick(object sender, RoutedEventArgs e)
{
//出力メニューにメッセージを出力
ResultConsole.Text += "<変換開始>\r\n";
ResultConsole.Text += " PDFを" + FileSelect.Text + "に変換します\r\n";
ResultConsole.Text += "\r\n";
DoEvents();
//必要に応じてページ引数を指定
bool pageFlag = false;
string selectedPage = "";
if (PageRange.Text == "指定")
{
pageFlag = true;
selectedPage = pageBox.Text;
}
//対象フォルダのpathが存在するかチェック
if (!Directory.Exists(targetBox.Text) && !File.Exists(targetBox.Text))
{
CustomMsgBox.Show(mainWindow, "指定されたファイルあるいはフォルダが存在しません。" +
"\nもう一度TIFF出力する対象を設定してください。", "The specified file or folder does not exist", MessageBoxButton.OK, MessageBoxImage.Information);
ResultConsole.Text += " 指定された対象ファイルあるいはフォルダを発見できませんでした\r\n";
ResultConsole.Text += "<変換中止>\r\n";
Properties.Settings.Default.targetSetting = "";
Properties.Settings.Default.Save();
return;
}
//出力フォルダのpathチェック
if (workBox.Text != "")
{
if (!Directory.Exists(workBox.Text) && !File.Exists(workBox.Text))//pathのチェック
{
CustomMsgBox.Show(mainWindow, "指定された作業フォルダが存在しません。" +
"\nもう一度設定してください。", "The specified reference file or folder does not exist", MessageBoxButton.OK, MessageBoxImage.Information);
ResultConsole.Text += " 指定された作業フォルダを発見できませんでした\r\n";
ResultConsole.Text += "<変換中止>\r\n";
workBox.Text = "";
Properties.Settings.Default.workSpaceSetting = "";
Properties.Settings.Default.Save();
return;
}
}
//CSRenderの実行
string TIFFresult =
OutputTIFF.runCSRender(ResolutionBox.Text, FileSelect.Text, pageFlag, selectedPage, targetBox.Text, workBox.Text);
ResultConsole.Text += TIFFresult;
ResultConsole.Text += "\r\n<変換終了>\r\n";
ResultConsole.ScrollToEnd();
//パラメータを次回初期値用に保存
Properties.Settings.Default.resolutionSetting = ResolutionBox.Value;
Properties.Settings.Default.formatSetting = FileSelect.Text;
Properties.Settings.Default.workSpaceSetting = workBox.Text;
Properties.Settings.Default.targetSetting = targetBox.Text;
Properties.Settings.Default.Save();
}
//メニュを明示的に更新する
private void DoEvents()
{
DispatcherFrame frame = new DispatcherFrame();
var callback = new DispatcherOperationCallback(ExitFrames);
Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, callback, frame);
Dispatcher.PushFrame(frame);
}
//実行中のオブジェクトを読み込み
private object ExitFrames(object obj)
{
((DispatcherFrame)obj).Continue = false;
return null;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Controls.Primitives;
using System.Text.RegularExpressions;
using System.Diagnostics;
using System.IO;
namespace CSRender
{
class OutputTIFF
{
public static string runCSRender(string resolutionNum, string outputFile,
bool pageFlag, string filePage, string targetPath, string workPath)
{
//実行用コンソール呼び出し
ProcessStartInfo processStartInfo = new ProcessStartInfo();
string appPath = System.Reflection.Assembly.GetExecutingAssembly().Location; //モジュールのパスを取得
string appDirectory = appPath.Substring(0, appPath.LastIndexOf(@"\") + 1); //モジュールの存在するディレクトリを取得
processStartInfo.FileName = System.IO.Path.Combine(appDirectory, "CSRender.Data", "CSRender.exe");
processStartInfo.CreateNoWindow = true; // コマンドプロンプトを非表示
processStartInfo.UseShellExecute = false; // シェル機能オフ
processStartInfo.RedirectStandardOutput = true;//標準出力をリダイレクト
//解像度の引数
processStartInfo.Arguments = "/D ";
processStartInfo.Arguments += resolutionNum;
//出力ファイル形式の引数
processStartInfo.Arguments += " /";
processStartInfo.Arguments += outputFile;
processStartInfo.Arguments += " ";
//必要に応じてページ引数を指定
if (pageFlag == true)
{
processStartInfo.Arguments += "/P \"";
processStartInfo.Arguments += filePage;
processStartInfo.Arguments += "\" ";
}
//指定ファイル
processStartInfo.Arguments += "/F ";
processStartInfo.Arguments += targetPath;
//出力フォルダ
if (workPath != "")
{
processStartInfo.Arguments += " /O ";
processStartInfo.Arguments += workPath;
}
//CSRender.exeを実行
Process process = Process.Start(processStartInfo);
string resuletString = process.StandardOutput.ReadToEnd();
process.WaitForExit();
process.Close();
return resuletString;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Controls.Primitives;
using System.Text.RegularExpressions;
namespace CSRender
{
public partial class MainWindow : Window
{
//コンボボックスの要素
public class ComboBoxSet
{
public int Id { get; set; }
public string Item { get; set; }
}
//クリックしたときに全体を選択
private void PageBox_GotFocusSelectAll(object sender, RoutedEventArgs e)
{
TextBox box = (TextBox)sender;
//box.SelectAll();
this.Dispatcher.InvokeAsync(() => { Task.Delay(10); box.SelectAll(); });
}
//ページ指定のプルダウンに応じてテキストボックスを活性化/非活性化
private void PageRange_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var SelectedItem = (ComboBoxSet)PageRange.SelectedItem;
if (SelectedItem == null) return;
string PageType = (string)SelectedItem.Item;
if (PageType == "指定")
{
pageBox.IsEnabled = true;
pageLabel.IsEnabled = true;
}
else
{
pageBox.IsEnabled = false;
pageLabel.IsEnabled = false;
}
}
//数字とハイフン、カンマ以外を無効化
private void PageBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
var Pagebox = (TextBox)sender;
string str = Pagebox.Text;//文字列
var inputPage = e.Text;//入力された文字
//正規表現で入力文字の判定、数字とピリオド、カンマならtrue
bool PageCheck = new System.Text.RegularExpressions.Regex("[0-9,-]").IsMatch(inputPage);
//入力文字が数値とカンマ、ハイフン以外だったら無効
if (PageCheck == false)
{
e.Handled = true;//無効
return;//終了
}
//キャレット(カーソル)位置が先頭(0)であるときの、ハイフン入力は無効
if (Pagebox.CaretIndex == 0 && inputPage == "-") { e.Handled = true; return; }
//キャレット(カーソル)位置が先頭(0)であるときの、カンマ入力は無効
if (Pagebox.CaretIndex == 0 && inputPage == ",") { e.Handled = true; return; }
}
//誤ったハイフン・カンマ、数字の入力を修正
private void PageBox_LostFocus(object sender, RoutedEventArgs e)
{
//ハイフン、カンマの削除
var PageBox = (TextBox)sender;
string inputText = PageBox.Text;
// -,や,- は入力ミスなので後の文字だけ削除
inputText = inputText.Replace("-,", "-");
inputText = inputText.Replace(",-", ",");
//先頭か末尾にあった場合は削除
if (inputText.StartsWith(",") || inputText.EndsWith(","))
{
inputText = inputText.TrimStart(',');
inputText = inputText.TrimEnd(',');
}
if (inputText.StartsWith("-") || inputText.EndsWith("-"))
{
inputText = inputText.TrimStart('-');
inputText = inputText.TrimEnd('-');
}
//先頭が0の場合は1に修正
if (inputText.StartsWith("0"))
{
inputText = inputText.TrimStart('0');
inputText = "1" + inputText;
}
PageBox.Text = inputText;
}
private void PageBox_PreviewExecuted(object sender, ExecutedRoutedEventArgs e)
{
//貼り付け無効
if (e.Command == ApplicationCommands.Paste)
{
e.Handled = true;
}
}
//スペースキーが押されたときは、それを無効にする
private void PageBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Space) e.Handled = true;
}
}
}
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows;
// アセンブリに関する一般情報は以下の属性セットをとおして制御されます。
// アセンブリに関連付けられている情報を変更するには、
// これらの属性値を変更してください。
[assembly: AssemblyTitle("CSRender")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("CSRender")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// ComVisible を false に設定すると、このアセンブリ内の型は COM コンポーネントから
// 参照できなくなります。COM からこのアセンブリ内の型にアクセスする必要がある場合は、
// その型の ComVisible 属性を true に設定してください。
[assembly: ComVisible(false)]
//ローカライズ可能なアプリケーションのビルドを開始するには、
//.csproj ファイルの <UICulture>CultureYouAreCodingWith</UICulture> を
//<PropertyGroup> 内部で設定します。たとえば、
//ソース ファイルで英語を使用している場合、<UICulture> を en-US に設定します。次に、
//下の NeutralResourceLanguage 属性のコメントを解除します。下の行の "en-US" を
//プロジェクト ファイルの UICulture 設定と一致するよう更新します。
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //テーマ固有のリソース ディクショナリが置かれている場所
//(リソースがページ、
//またはアプリケーション リソース ディクショナリに見つからない場合に使用されます)
ResourceDictionaryLocation.SourceAssembly //汎用リソース ディクショナリが置かれている場所
//(リソースがページ、
//アプリケーション、またはいずれのテーマ固有のリソース ディクショナリにも見つからない場合に使用されます)
)]
// アセンブリのバージョン情報は次の 4 つの値で構成されています:
//
// メジャー バージョン
// マイナー バージョン
// ビルド番号
// Revision
//
// すべての値を指定するか、次を使用してビルド番号とリビジョン番号を既定に設定できます
// 既定値にすることができます:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
//------------------------------------------------------------------------------
// <auto-generated>
// このコードはツールによって生成されました。
// ランタイム バージョン:4.0.30319.42000
//
// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
// コードが再生成されるときに損失したりします
// </auto-generated>
//------------------------------------------------------------------------------
namespace CSRender.Properties
{
/// <summary>
/// ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。
/// </summary>
// このクラスは StronglyTypedResourceBuilder クラスによって ResGen
// または Visual Studio のようなツールを使用して自動生成されました。
// メンバーを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に
// ResGen を実行し直すか、または VS プロジェクトをリビルドします。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// このクラスで使用されるキャッシュされた ResourceManager インスタンスを返します。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CSRender.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// すべてについて、現在のスレッドの CurrentUICulture プロパティをオーバーライドします
/// 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
//------------------------------------------------------------------------------
// <auto-generated>
// このコードはツールによって生成されました。
// ランタイム バージョン:4.0.30319.42000
//
// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
// コードが再生成されるときに損失したりします。
// </auto-generated>
//------------------------------------------------------------------------------
namespace CSRender.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("75")]
public decimal resolutionSetting {
get {
return ((decimal)(this["resolutionSetting"]));
}
set {
this["resolutionSetting"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string formatSetting {
get {
return ((string)(this["formatSetting"]));
}
set {
this["formatSetting"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("2")]
public decimal shiftPixelSetting {
get {
return ((decimal)(this["shiftPixelSetting"]));
}
set {
this["shiftPixelSetting"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("60")]
public decimal colorMarginSetting {
get {
return ((decimal)(this["colorMarginSetting"]));
}
set {
this["colorMarginSetting"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("8")]
public decimal removePointSetting {
get {
return ((decimal)(this["removePointSetting"]));
}
set {
this["removePointSetting"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("5")]
public decimal shadingOffSetting {
get {
return ((decimal)(this["shadingOffSetting"]));
}
set {
this["shadingOffSetting"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string workSpaceSetting {
get {
return ((string)(this["workSpaceSetting"]));
}
set {
this["workSpaceSetting"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string referenceSetting {
get {
return ((string)(this["referenceSetting"]));
}
set {
this["referenceSetting"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string targetSetting {
get {
return ((string)(this["targetSetting"]));
}
set {
this["targetSetting"] = value;
}
}
}
}
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="CSRender.Properties" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="resolutionSetting" Type="System.Decimal" Scope="User">
<Value Profile="(Default)">75</Value>
</Setting>
<Setting Name="formatSetting" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="shiftPixelSetting" Type="System.Decimal" Scope="User">
<Value Profile="(Default)">2</Value>
</Setting>
<Setting Name="colorMarginSetting" Type="System.Decimal" Scope="User">
<Value Profile="(Default)">60</Value>
</Setting>
<Setting Name="removePointSetting" Type="System.Decimal" Scope="User">
<Value Profile="(Default)">8</Value>
</Setting>
<Setting Name="shadingOffSetting" Type="System.Decimal" Scope="User">
<Value Profile="(Default)">5</Value>
</Setting>
<Setting Name="workSpaceSetting" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="referenceSetting" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="targetSetting" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
</Settings>
</SettingsFile>
\ No newline at end of file
// ゆすらせ量
**ShiftPixel: "0"
// 階調マージン
**GradationMargin: "30"
// 孤立点除去
**RemovePoint: "5"
// 平均化
**ShadingOff: "2"
//マルチプロセスモード(自動:0/手動:1)
**MultiProcessMode:"0"
// マルチプロセス数(手動の場合)
**MultiProcessValue: "0"
//バイナリ比較(1:デコード無しで比較)
**ComparisonWithoutDecode:"0"
//処理時間(1:表示)
**IsViewProcessingTime:"1"
// 検版差異出力ファイルタイプ(0:従来/1:1bitTiff)
**OutPutDiffFileType:"1"
// 孤立点除去の繰り返し数(0:デフォルト繰り返し無し)
**RemovePointRepeatCount:"0"
// ゆすらせ量
**ShiftPixel: "1"
// 階調マージン
**GradationMargin: "30"
// 孤立点除去
**RemovePoint: "5"
// 平均化
**ShadingOff: "0"
//マルチプロセスモード(自動:0/手動:1)
**MultiProcessMode:"0"
// マルチプロセス数(手動の場合)
**MultiProcessValue: "0"
//バイナリ比較(1:デコード無しで比較)
**ComparisonWithoutDecode:"0"
//処理時間(1:表示)
**IsViewProcessingTime:"1"
// 検版差異出力ファイルタイプ(0:従来/1:1bitTiff)
**OutPutDiffFileType:"1"
// 孤立点除去の繰り返し数(0:デフォルト繰り返し無し)
**RemovePointRepeatCount:"0"
// ゆすらせ量
**ShiftPixel: "2"
// 階調マージン
**GradationMargin: "80"
// 孤立点除去
**RemovePoint: "8"
// 平均化
**ShadingOff: "5"
//マルチプロセスモード(自動:0/手動:1)
**MultiProcessMode:"0"
// マルチプロセス数(手動の場合)
**MultiProcessValue: "0"
//バイナリ比較(1:デコード無しで比較)
**ComparisonWithoutDecode:"0"
//処理時間(1:表示)
**IsViewProcessingTime:"1"
// 検版差異出力ファイルタイプ(0:従来/1:1bitTiff)
**OutPutDiffFileType:"1"
// 孤立点除去の繰り返し数(0:デフォルト繰り返し無し)
**RemovePointRepeatCount:"1"
// ゆすらせ量
**ShiftPixel: "2"
// 階調マージン
**GradationMargin: "60"
// 孤立点除去
**RemovePoint: "8"
// 平均化
**ShadingOff: "5"
//マルチプロセスモード(自動:0/手動:1)
**MultiProcessMode:"0"
// マルチプロセス数(手動の場合)
**MultiProcessValue: "0"
//バイナリ比較(1:デコード無しで比較)
**ComparisonWithoutDecode:"0"
//処理時間(1:表示)
**IsViewProcessingTime:"1"
// 検版差異出力ファイルタイプ(0:従来/1:1bitTiff)
**OutPutDiffFileType:"1"
// 孤立点除去の繰り返し数(0:デフォルト繰り返し無し)
**RemovePointRepeatCount:"0"
<?xml version="1.0" encoding="UTF-8"?>
<ripverify_report unit="pt" color="BLACK">
<!--unit: default is pt; available unit: mm, pt-->
<!--color: default is BLACK; available color: BLACK, RED, BLUE, GREEN, YELLOW-->
<page>
<PageNumSpec>PAGE</PageNumSpec>
<top flg_display_field_no_value="0">
<!--flg_display_field_no_value Setting range: 1=true, 0=false-->
<margin top="20" bottom="20" left="30" right="30" />
<title font_size="20" line_spacing="10" spacing_sections="40">PureVerify
Report</title>
<logo file_name="equios.jpg" width="137" height="" />
<!--if input one field width or height, other field will be auto adjust aspect ratio-->
<sections spacing_before="5" spacing_after="20">
<title color="BLUE" font_size="15" spacing_after="5" />
<fields color="BLACK" font_size="10" line_spacing="5" />
<cols>
<col id="key" indent="10" />
<col id="value" indent="210" />
</cols>
</sections>
<!--Describe language for each section in top page-->
<section id="inspection_result">
<title>Inspection result</title>
<field id="RESULT_NG" color="RED">Number of difference</field>
<!--Using color is RED for text of this field-->
<field id="LIST_NG">Difference page</field>
<field id="RESULT_INSPECTION_NUM">Number of inspection page</field>
<field id="RESULT_INSPECTION_TIME">Inspection time</field>
<field id="RESULT_DATE">Report created date</field>
<field id="RESULT_REPORT_NAME">Report file name</field>
<field id="NUM_PART_OUTPUT">Number of part of output</field>
</section>
<section id="pureVerify">
<title>PureVerify</title>
<field id="ENV_VERSION">Version</field>
<field id="ENV_COMPUTER_NAME">Computer name</field>
<field id="ENV_EQUIOS_PATH">EquiosCenter path</field>
<field id="ENV_RIPVERIFY_PATH">PureVerify path</field>
<field id="ENV_INSPECTION_QUALITY">Inspection sensitivity</field>
<field id="ENV_INSPECTION_SHAKE">Position tolerance</field>
<field id="ENV_INSPECTION_TOLERANCE">Gradient tolerance</field>
<field id="ENV_INSPECTION_ISOLATED">Smallness</field>
<field id="ENV_INSPECTION_SHADE">Perceptual tolerance</field>
<field id="ENV_INSPECTION_AREA">Inspection page</field>
<field id="ENV_IMAGE_RESO">Inspection image resolution</field>
<field id="ENV_MARK_DISTANCE">Mark distance</field>
</section>
<section id="tiff_information">
<title>Tiff information</title>
<field id="TIFF_REFERENCE_PATH">Reference image path</field>
<field id="TIFF_REFERENCE_NUMS">Reference number of image files</field>
<field id="TIFF_TARGET_PATH">Target image path</field>
<field id="TIFF_TARGET_NUMS">Target number of image files</field>
</section>
<section id="misc">
<title>Miscellaneous</title>
<field id="OTHER_INFO">Other information</field>
</section>
</top>
<bottom>
<margin top="20" bottom="20" left="30" right="30" />
<title font_size="20" line_spacing="10" spacing_sections="40">PureVerify Report</title>
<sections spacing_before="5" spacing_after="20">
<title color="BLUE" font_size="15" spacing_after="5" />
<params color="BLACK" font_size="10" line_spacing="5" indent="10"/>
<tables flg_display_title="1" group="1" group_indent="10">
<!--flg_display_title Setting range: 1=true, 0=false-->
<!--group_by_folder Setting range: 1=true, 0=false-->
<fields color="BLACK" font_size="10" line_spacing="5"/>
</tables>
</sections>
<section id="resampled_image">
<title>List of image files which have been converted resolution</title>
<param>
<field id="RESAMPLE_SIZE">RESAMPLE SIZE</field>
<field id="MAX_TIFF_SIZE">MAX TIFF SIZE</field>
</param>
<table id="resampled_image">
<field id="FILE_NAME" indent="10">File name</field>
<field id="ORIGINAL_SIZE" indent="340">Original size</field>
<field id="RESAMPLED_SIZE" indent="430">Resampled size</field>
</table>
</section>
<section id="ok_image">
<title>List of image files without diff points</title>
<table id="ok_image" flg_display_title="0">
<field id="FILE_NAME" indent="10"></field>
</table>
</section>
<section id="missing_image">
<title>List of image files which missing reference or target</title>
<table id="missing_image">
<field id="FILE_NAME" indent="10">File name</field>
<field id="MISSED_FILE" indent="430">Missed file</field>
</table>
</section>
</bottom>
</page>
</ripverify_report>
<?xml version="1.0" encoding="UTF-8"?>
<ripverify_report unit="pt" color="BLACK">
<!--unit: default is pt; available unit: mm, pt-->
<!--color: default is BLACK; available color: BLACK, RED, BLUE, GREEN, YELLOW-->
<page>
<PageNumSpec>PAGE</PageNumSpec>
<top flg_display_field_no_value="0">
<!--flg_display_field_no_value Setting range: 1=true, 0=false-->
<margin top="20" bottom="20" left="30" right="30" />
<title font_size="20" line_spacing="10" spacing_sections="40">PureVerify
Report</title>
<logo file_name="equios.jpg" width="137" height="" />
<!--if input one field width or height, other field will be auto adjust aspect ratio-->
<sections spacing_before="5" spacing_after="20">
<title color="BLUE" font_size="12" spacing_after="5" />
<fields color="BLACK" font_size="10" line_spacing="5" />
<cols>
<col id="key" indent="18" />
<col id="value" indent="218" />
</cols>
</sections>
<!--Describe language for each section in top page-->
<section id="inspection_result">
<title>検査結果</title>
<field id="RESULT_NG" color="RED">差異数</field>
<!--Using color is RED for text of this field-->
<field id="LIST_NG">差異ページ</field>
<field id="RESULT_INSPECTION_NUM">検査画像数</field>
<field id="RESULT_INSPECTION_TIME">検査時間</field>
<field id="RESULT_DATE">レポート作成日</field>
<field id="RESULT_REPORT_NAME">レポートファイル名</field>
<field id="NUM_PART_OUTPUT">分割数</field>
</section>
<section id="pureVerify">
<title>PUREベリファイ</title>
<field id="ENV_VERSION">バージョン</field>
<field id="ENV_COMPUTER_NAME">マシン名</field>
<field id="ENV_EQUIOS_PATH">EquiosCenterパス</field>
<field id="ENV_RIPVERIFY_PATH">PureVerifyパス</field>
<field id="ENV_INSPECTION_QUALITY">検版感度</field>
<field id="ENV_INSPECTION_SHAKE">位置ズレ許容量</field>
<field id="ENV_INSPECTION_TOLERANCE">階調差許容量</field>
<field id="ENV_INSPECTION_ISOLATED">微少差異許容量</field>
<field id="ENV_INSPECTION_SHADE">視覚的あいまい量</field>
<field id="ENV_IMAGE_RESO">画像解像度</field>
<field id="ENV_MARK_DISTANCE">マーク距離</field>
</section>
<section id="tiff_information">
<title>画像情報</title>
<field id="TIFF_REFERENCE_PATH">リファレンス画像パス</field>
<field id="TIFF_REFERENCE_NUMS">リファレンス画像ファイル数</field>
<field id="TIFF_TARGET_PATH">検査画像パス</field>
<field id="TIFF_TARGET_NUMS">検査画像ファイル数</field>
</section>
<section id="misc">
<title>その他</title>
<field id="OTHER_INFO">その他の情報</field>
</section>
</top>
<bottom>
<margin top="20" bottom="20" left="30" right="30" />
<title font_size="20" line_spacing="10" spacing_sections="40">PureVerify Report</title>
<sections spacing_before="5" spacing_after="20">
<title color="BLUE" font_size="12" spacing_after="5" />
<params color="BLACK" font_size="10" line_spacing="5" indent="10"/>
<tables flg_display_title="1" group="1" group_indent="10">
<!--flg_display_title Setting range: 1=true, 0=false-->
<!--group_by_folder Setting range: 1=true, 0=false-->
<fields color="BLACK" font_size="10" line_spacing="5"/>
</tables>
</sections>
<section id="resampled_image">
<title>解像度が変換された画像ファイルリスト</title>
<param>
<field id="RESAMPLE_SIZE">RESAMPLE SIZE</field>
<field id="MAX_TIFF_SIZE">MAX TIFF SIZE</field>
</param>
<table id="resampled_image">
<field id="FILE_NAME" indent="10">ファイル名</field>
<field id="ORIGINAL_SIZE" indent="340">元のサイズ</field>
<field id="RESAMPLED_SIZE" indent="430">変換後のサイズ</field>
</table>
</section>
<section id="ok_image">
<title>差異がなっかた画像ファイルリスト</title>
<table id="ok_image" flg_display_title="0">
<field id="FILE_NAME" indent="10"></field>
</table>
</section>
<section id="missing_image">
<title>レファレンスまたは対象がなかったファイル画像リスト</title>
<table id="missing_image">
<field id="FILE_NAME" indent="10">ファイル名</field>
<field id="MISSED_FILE" indent="430">抜けているファイル</field>
</table>
</section>
</bottom>
</page>
</ripverify_report>
**EquiosCenter: "C:\Users\EB030221\Desktop\CSRender\PureVerify.Data\EquiosCenter"
**WorkDirRoot: "C:\Users\EB030221\Desktop\CSRender\PureVerify.Data\RipVerify"
**InspQuality: "3"
**MarkDistance: "50"
**ReportEncodeType: "2"
**WndPosLeft: "348"
**WndPosTop: "125"
**WndPosRight: "933"
**WndPosBottom: "556"
**ShowOKList: "1"
//////////////// User Configuration ////////////////
// Password of the Inspection Report
**PDFREPORT_PASSWORD:""
//////////////// Advanced Setting ///////////////////////
// Number of divisions of the Inspection Report
**PDFREPORT_SPLIT_PAGENUM:"32"
// Maximum number of threads
**MakeThreadNums: "0"
//Log output setting: 0:None, 2:Standard
**LogLevel:"2"
////////////////////////// 追加 //////////////////////////////
// ドングルチェックの有無
**VerifyDongleCheck:"0"
// ドングルシリーズID
//**VerifyDongleSeriesID:"0x20000"
**VerifyDongleSeriesID:"0x2000"
// 作業フォルダを削除する
// 1 : 作業フォルダを削除する / 0 : 作業フォルダを削除しない
**IS_DELETE_WORKDIR:"1"
// Inspection Report compression type image
// Default value of compression type image is JPEG
// 0:ZLIB , 1:LZW , 2:JPEG , 3:JPEG2000 , 4:RUN_LENGTH
**CompressType:"2"
// Maximum size of Tiff image (MB)
**MAX_TIFF_SIZE:"2048"
// Size of Tiff image after resampling (MB)
**RESAMPLE_SIZE:"1024"
<?xml version="1.0" encoding="UTF-8"?>
<ripverify_report unit="pt" color="BLACK">
<!--unit: default is pt; available unit: mm, pt-->
<!--color: default is BLACK; available color: BLACK, RED, BLUE, GREEN, YELLOW-->
<page>
<PageNumSpec>PAGE</PageNumSpec>
<top flg_display_field_no_value="0">
<!--flg_display_field_no_value Setting range: 1=true, 0=false-->
<margin top="20" bottom="20" left="30" right="30" />
<title font_size="20" line_spacing="10" spacing_sections="40">PureVerify
Report</title>
<logo file_name="equios.jpg" width="137" height="" />
<!--if input one field width or height, other field will be auto adjust aspect ratio-->
<sections spacing_before="5" spacing_after="20">
<title color="BLUE" font_size="15" spacing_after="5" />
<fields color="BLACK" font_size="10" line_spacing="5" />
<cols>
<col id="key" indent="10" />
<col id="value" indent="210" />
</cols>
</sections>
<!--Describe language for each section in top page-->
<section id="inspection_result">
<title>Inspection result</title>
<field id="RESULT_NG" color="RED">Number of difference</field>
<!--Using color is RED for text of this field-->
<field id="LIST_NG">Difference page</field>
<field id="RESULT_INSPECTION_NUM">Number of inspection page</field>
<field id="RESULT_INSPECTION_TIME">Inspection time</field>
<field id="RESULT_DATE">Report created date</field>
<field id="RESULT_REPORT_NAME">Report file name</field>
<field id="NUM_PART_OUTPUT">Number of part of output</field>
</section>
<section id="pureVerify">
<title>PureVerify</title>
<field id="ENV_VERSION">Version</field>
<field id="ENV_COMPUTER_NAME">Computer name</field>
<field id="ENV_EQUIOS_PATH">EquiosCenter path</field>
<field id="ENV_RIPVERIFY_PATH">PureVerify path</field>
<field id="ENV_INSPECTION_QUALITY">Inspection sensitivity</field>
<field id="ENV_INSPECTION_SHAKE">Position tolerance</field>
<field id="ENV_INSPECTION_TOLERANCE">Gradient tolerance</field>
<field id="ENV_INSPECTION_ISOLATED">Smallness</field>
<field id="ENV_INSPECTION_SHADE">Perceptual tolerance</field>
<field id="ENV_INSPECTION_AREA">Inspection page</field>
<field id="ENV_IMAGE_RESO">Inspection image resolution</field>
<field id="ENV_MARK_DISTANCE">Mark distance</field>
</section>
<section id="tiff_information">
<title>Tiff information</title>
<field id="TIFF_REFERENCE_PATH">Reference image path</field>
<field id="TIFF_REFERENCE_NUMS">Reference number of image files</field>
<field id="TIFF_TARGET_PATH">Target image path</field>
<field id="TIFF_TARGET_NUMS">Target number of image files</field>
</section>
<section id="misc">
<title>Miscellaneous</title>
<field id="OTHER_INFO">Other information</field>
</section>
</top>
<bottom>
<margin top="20" bottom="20" left="30" right="30" />
<title font_size="20" line_spacing="10" spacing_sections="40">PureVerify Report</title>
<sections spacing_before="5" spacing_after="20">
<title color="BLUE" font_size="15" spacing_after="5" />
<params color="BLACK" font_size="10" line_spacing="5" indent="10"/>
<tables flg_display_title="1" group="1" group_indent="10">
<!--flg_display_title Setting range: 1=true, 0=false-->
<!--group_by_folder Setting range: 1=true, 0=false-->
<fields color="BLACK" font_size="10" line_spacing="5"/>
</tables>
</sections>
<section id="resampled_image">
<title>List of image files which have been converted resolution</title>
<param>
<field id="RESAMPLE_SIZE">RESAMPLE SIZE</field>
<field id="MAX_TIFF_SIZE">MAX TIFF SIZE</field>
</param>
<table id="resampled_image">
<field id="FILE_NAME" indent="10">File name</field>
<field id="ORIGINAL_SIZE" indent="340">Original size</field>
<field id="RESAMPLED_SIZE" indent="430">Resampled size</field>
</table>
</section>
<section id="ok_image">
<title>List of image files without diff points</title>
<table id="ok_image" flg_display_title="0">
<field id="FILE_NAME" indent="10"></field>
</table>
</section>
<section id="missing_image">
<title>List of image files which missing reference or target</title>
<table id="missing_image">
<field id="FILE_NAME" indent="10">File name</field>
<field id="MISSED_FILE" indent="430">Missed file</field>
</table>
</section>
</bottom>
</page>
</ripverify_report>
<?xml version="1.0" encoding="UTF-8"?>
<ripverify_report unit="pt" color="BLACK">
<!--unit: default is pt; available unit: mm, pt-->
<!--color: default is BLACK; available color: BLACK, RED, BLUE, GREEN, YELLOW-->
<page>
<PageNumSpec>PAGE</PageNumSpec>
<top flg_display_field_no_value="0">
<!--flg_display_field_no_value Setting range: 1=true, 0=false-->
<margin top="20" bottom="20" left="30" right="30" />
<title font_size="20" line_spacing="10" spacing_sections="40">PureVerify
Report</title>
<logo file_name="equios.jpg" width="137" height="" />
<!--if input one field width or height, other field will be auto adjust aspect ratio-->
<sections spacing_before="5" spacing_after="20">
<title color="BLUE" font_size="12" spacing_after="5" />
<fields color="BLACK" font_size="10" line_spacing="5" />
<cols>
<col id="key" indent="18" />
<col id="value" indent="218" />
</cols>
</sections>
<!--Describe language for each section in top page-->
<section id="inspection_result">
<title>検査結果</title>
<field id="RESULT_NG" color="RED">差異数</field>
<!--Using color is RED for text of this field-->
<field id="LIST_NG">差異ページ</field>
<field id="RESULT_INSPECTION_NUM">検査画像数</field>
<field id="RESULT_INSPECTION_TIME">検査時間</field>
<field id="RESULT_DATE">レポート作成日</field>
<field id="RESULT_REPORT_NAME">レポートファイル名</field>
<field id="NUM_PART_OUTPUT">分割数</field>
</section>
<section id="pureVerify">
<title>PUREベリファイ</title>
<field id="ENV_VERSION">バージョン</field>
<field id="ENV_COMPUTER_NAME">マシン名</field>
<field id="ENV_EQUIOS_PATH">EquiosCenterパス</field>
<field id="ENV_RIPVERIFY_PATH">PureVerifyパス</field>
<field id="ENV_INSPECTION_QUALITY">検版感度</field>
<field id="ENV_INSPECTION_SHAKE">位置ズレ許容量</field>
<field id="ENV_INSPECTION_TOLERANCE">階調差許容量</field>
<field id="ENV_INSPECTION_ISOLATED">微少差異許容量</field>
<field id="ENV_INSPECTION_SHADE">視覚的あいまい量</field>
<field id="ENV_IMAGE_RESO">画像解像度</field>
<field id="ENV_MARK_DISTANCE">マーク距離</field>
</section>
<section id="tiff_information">
<title>画像情報</title>
<field id="TIFF_REFERENCE_PATH">リファレンス画像パス</field>
<field id="TIFF_REFERENCE_NUMS">リファレンス画像ファイル数</field>
<field id="TIFF_TARGET_PATH">検査画像パス</field>
<field id="TIFF_TARGET_NUMS">検査画像ファイル数</field>
</section>
<section id="misc">
<title>その他</title>
<field id="OTHER_INFO">その他の情報</field>
</section>
</top>
<bottom>
<margin top="20" bottom="20" left="30" right="30" />
<title font_size="20" line_spacing="10" spacing_sections="40">PureVerify Report</title>
<sections spacing_before="5" spacing_after="20">
<title color="BLUE" font_size="12" spacing_after="5" />
<params color="BLACK" font_size="10" line_spacing="5" indent="10"/>
<tables flg_display_title="1" group="1" group_indent="10">
<!--flg_display_title Setting range: 1=true, 0=false-->
<!--group_by_folder Setting range: 1=true, 0=false-->
<fields color="BLACK" font_size="10" line_spacing="5"/>
</tables>
</sections>
<section id="resampled_image">
<title>解像度が変換された画像ファイルリスト</title>
<param>
<field id="RESAMPLE_SIZE">RESAMPLE SIZE</field>
<field id="MAX_TIFF_SIZE">MAX TIFF SIZE</field>
</param>
<table id="resampled_image">
<field id="FILE_NAME" indent="10">ファイル名</field>
<field id="ORIGINAL_SIZE" indent="340">元のサイズ</field>
<field id="RESAMPLED_SIZE" indent="430">変換後のサイズ</field>
</table>
</section>
<section id="ok_image">
<title>差異がなっかた画像ファイルリスト</title>
<table id="ok_image" flg_display_title="0">
<field id="FILE_NAME" indent="10"></field>
</table>
</section>
<section id="missing_image">
<title>レファレンスまたは対象がなかったファイル画像リスト</title>
<table id="missing_image">
<field id="FILE_NAME" indent="10">ファイル名</field>
<field id="MISSED_FILE" indent="430">抜けているファイル</field>
</table>
</section>
</bottom>
</page>
</ripverify_report>
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.WindowsAPICodePack-Core" version="1.1.0.2" targetFramework="net462" />
<package id="Microsoft.WindowsAPICodePack-Shell" version="1.1.0.0" targetFramework="net462" />
</packages>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment