1

Windows パスの代わりに UNIX パスを返す acrobat を使用しています。vb.netにパスをWindowsパスに変換する方法があるかどうか疑問に思っています。

私は使ってみました:

docs(i) = javaScriptObj.path().ToString.Replace("/", "\").Substring(1)
position = docs(i).IndexOf("\")
docs(i) = docs(i).Substring(0, position) + ":\" + docs(i).Substring(position + 1)

これはローカル ファイルでのみ機能しますが、ネットワーク ドライブの使用を開始すると失敗します。ありがとう

4

1 に答える 1

3

これを試してみてください:

Private Function UnixPathToWindowsPath(UnixPath As String) As String
   If String.IsNullOrWhiteSpace(UnixPath) Then Return String.Empty
   Dim chunks = UnixPath.Split(New Char() {"/"c}, StringSplitOptions.RemoveEmptyEntries)
   If chunks.Any Then
      If chunks(0).Length = 1 Then 'Single character root, assume drive letter.
         Return String.Join("\", chunks).Insert(1, ":")
      Else
         Return "\\" & String.Join("\", chunks)
      End If
   Else
      Return IO.Path.DirectorySeparatorChar
   End If
End Function

これは、部分的なパスではなく、完全なパス名を想定しています。

于 2012-06-14T22:47:48.487 に答える