68 lines
1.9 KiB
C#
68 lines
1.9 KiB
C#
|
using UnityEngine;
|
|||
|
|
|||
|
namespace Paroxe.PdfRenderer.Internal.Viewer
|
|||
|
{
|
|||
|
class PDFViewerDefaultActionHandler : IPDFDeviceActionHandler
|
|||
|
{
|
|||
|
public void HandleGotoAction(IPDFDevice device, int pageIndex)
|
|||
|
{
|
|||
|
device.GoToPage(pageIndex);
|
|||
|
}
|
|||
|
|
|||
|
public void HandleLaunchAction(IPDFDevice device, string filePath)
|
|||
|
{
|
|||
|
#if !UNITY_WEBGL
|
|||
|
if (filePath.Trim().Substring(filePath.Length - 4).ToLower().Contains("pdf"))
|
|||
|
{
|
|||
|
device.LoadDocumentFromFile(filePath, "", 0);
|
|||
|
}
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
public string HandleRemoteGotoActionPasswordResolving(IPDFDevice device, string resolvedFilePath)
|
|||
|
{
|
|||
|
return "";
|
|||
|
}
|
|||
|
|
|||
|
public string HandleRemoteGotoActionPathResolving(IPDFDevice device, string filePath)
|
|||
|
{
|
|||
|
return filePath;
|
|||
|
}
|
|||
|
|
|||
|
public void HandleRemoteGotoActionResolved(IPDFDevice device, PDFDocument document, int pageIndex)
|
|||
|
{
|
|||
|
#if !UNITY_WEBGL
|
|||
|
device.LoadDocument(document, "", pageIndex);
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
public void HandleRemoteGotoActionUnresolved(IPDFDevice device, string resolvedFilePath)
|
|||
|
{
|
|||
|
// ...
|
|||
|
}
|
|||
|
|
|||
|
public void HandleUnsupportedAction(IPDFDevice device)
|
|||
|
{
|
|||
|
// ...
|
|||
|
}
|
|||
|
|
|||
|
public void HandleUriAction(IPDFDevice device, string uri)
|
|||
|
{
|
|||
|
if (uri.Trim().Substring(uri.Length - 4).ToLower().Contains("pdf"))
|
|||
|
{
|
|||
|
#if !UNITY_WEBGL
|
|||
|
device.LoadDocumentFromWeb(uri, "", 0);
|
|||
|
#endif
|
|||
|
}
|
|||
|
else if (device.AllowOpenURL)
|
|||
|
{
|
|||
|
if (uri.Trim().ToLowerInvariant().StartsWith("http:")
|
|||
|
|| uri.Trim().ToLowerInvariant().StartsWith("https:")
|
|||
|
|| uri.Trim().ToLowerInvariant().StartsWith("ftp:"))
|
|||
|
{
|
|||
|
Application.OpenURL(uri);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|