2016-10-15 4 views
1

J'ai utilisé SceneBuilder 2 pour créer une boîte de dialogue pour héberger un WebView, que j'ai l'intention d'utiliser pour afficher des documents d'aide (HTML). J'ai ensuite créé un document HTML dans Libre Office Writer. Le fichier "Help.html" se charge, mais l'interligne dans le WebView est différent de celui que je vois dans Libre.JavaFX WebView affiche la différence HTML avec Libre Office Writer

Je voudrais voir dans le WebView ce que je vois dans Libre.

Y at-il un attribut de style que je dois définir? Texte dans les paragraphes envelopper correctement, c'est l'espacement excessif après CR/LF, c'est le problème.

La méthode initialize du contrôleur:

public void initialize(URL url, ResourceBundle rb) 
{   
    WebEngine webEngine = webView.getEngine(); 

    // Load HTML Content 
    webEngine.load(getClass().getResource("/SampleHelp.html").toExternalForm()); 
} 

Le fichier SampleHelp.html en HTML.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8"> 
    <title></title> 
    <meta name="generator" content="LibreOffice 4.2.8.2 (Linux)"> 
    <meta name="created" content="20161014;0"> 
    <meta name="changed" content="20161015;90732380852526"> 
    <style type="text/css"> 
    <!-- 
     @page { margin-left: 1cm; margin-right: 1cm } 
     p { color: #000000 } 
    --> 
    </style> 
</head> 
<body lang="en-AU" text="#000000" dir="ltr" style="background: transparent"> 
<p align="center" style="margin-bottom: 0cm"><font size="1" style="font-size: 8pt"><u><b>Load 
File</b></u></font></p> 
<p style="margin-bottom: 0cm; page-break-before: auto; page-break-after: auto"> 
<font size="1" style="font-size: 8pt"><u>Purpose</u>: To load files 
provided by a Service Provider, that holds all relevant information 
about a given event.</font></p> 
<p style="margin-bottom: 0cm"><br> 
</p> 
<p style="margin-bottom: 0cm"><font size="1" style="font-size: 8pt">For 
this reason file loading is considered to be 'Automatic', and 
requires minimal input. </font> 
</p> 
<p style="margin-bottom: 0cm"><br> 
</p> 
<p style="margin-bottom: 0cm"><font size="1" style="font-size: 8pt"><u><b>Load 
File – Saleyard</b></u></font></p> 
<p style="margin-bottom: 0cm"><font size="1" style="font-size: 8pt">The 
operator needs to:</font></p> 
<p style="margin-bottom: 0cm"><font size="1" style="font-size: 8pt">(1) 
Choose a Saleyard </font> 
</p> 
<p style="margin-bottom: 0cm"><font size="1" style="font-size: 8pt">The 
first dialog opens to show a list of all Saleyards registered in the 
system.</font></p> 
<p style="margin-bottom: 0cm"><font size="1" style="font-size: 8pt">Select 
one and press the 'OK' button to accept the selection, or 'Cancel' to 
stop the process.</font></p> 
<p style="margin-bottom: 0cm"><br> 
</p> 
<p style="margin-bottom: 0cm"><font size="1" style="font-size: 8pt">(2) 
Choose a file.</font></p> 
<p style="margin-bottom: 0cm"><font size="1" style="font-size: 8pt">A 
FileChooser Dialog opens in the Saleyards directory (home/Livestock 
Manager/Source/Saleyards), which shows a sub-directory for each 
registered Saleyard.</font></p> 
<p style="margin-bottom: 0cm"><font size="1" style="font-size: 8pt">Open 
the relevant provider's directory, and choose the relevant event file 
(.xml). </font> 
</p> 
<p style="margin-bottom: 0cm"><br> 
</p> 
<p style="margin-bottom: 0cm"><font size="1" style="font-size: 8pt">The 
system will then:</font></p> 
<ul> 
    <p style="margin-bottom: 0cm"><font size="1" style="font-size: 8pt">- 
    check to see that the file is from the nominated Saleyard</font></p> 
    <p style="margin-bottom: 0cm"><font size="1" style="font-size: 8pt">- 
    check to ensure this event (provider + event date) has not been 
    loaded before</font></p> 
    <p style="margin-bottom: 0cm"><font size="1" style="font-size: 8pt">- 
    load the relevant data</font></p> 
</ul> 
<p style="margin-bottom: 0cm"><br> 
</p> 
<p style="margin-bottom: 0cm"><font size="1" style="font-size: 8pt"><b>Recommended</b></font></p> 
<p style="margin-bottom: 0cm"><a name="__DdeLink__16_440979877"></a><font size="1" style="font-size: 8pt">Once 
loaded, it is recommended that you view (see menu option View/Edit 
– Saleyard) the results, to verify the number of head bought and 
sold, and the cost. The quality of data supplied varies according to 
provider. So, this also provides an opportunity to improve the data 
by updates to Breed, Sex, and Has Calf as appropriate.</font></p> 
<p style="margin-bottom: 0cm"><br> 
</p> 
<p style="margin-bottom: 0cm"><br> 
</p> 
<p style="margin-bottom: 0cm"><br> 
</p> 
</body> 
</html> 

SampleHelp.html comme indiqué dans la WebView (et Mozilla FireFox):

Charger un fichier

Objet: Pour charger des fichiers fournis par un fournisseur de services, qui contient toutes les informations pertinentes sur une donnée un événement. Pour cette raison, le chargement du fichier est considéré comme 'Automatique' et nécessite une entrée minimale.

Charger un fichier - Saleyard

L'opérateur doit:

(1) Choisissez un Saleyard

La première boîte de dialogue s'ouvre pour afficher une liste de tous Saleyards enregistrés dans le système.

Sélectionnez-en un et appuyez sur le bouton 'OK' pour accepter la sélection, ou 'Annuler' pour arrêter le processus.

(2) Choisissez un fichier.

Une boîte de dialogue FileChooser s'ouvre dans le répertoire Saleyards (home/Livestock Manager/Source/Saleyards), qui affiche un sous-répertoire pour chaque Saleyard enregistré.

Ouvrez le répertoire du fournisseur approprié et choisissez le fichier d'événement approprié (.xml).

Le système sera alors:

- check to see that the file is from the nominated Saleyard 

- check to ensure this event (provider + event date) has not been loaded before 

- load the relevant data 

recommandé

Une fois chargé, il est recommandé de consulter (voir l'option de menu Affichage/Edition - Saleyard) les résultats, afin de vérifier le nombre de têtes acheté et vendu, et le coût. La qualité des données fournies varie selon le fournisseur. Ainsi, cela fournit également une occasion d'améliorer les données par des mises à jour de Race, Sexe et Has Veau, selon le cas.

En Libre Office Writer: (Si je coupe et passe ici, il ne le représente pas non plus correctement.L'affichage de WebView est correct, c'est juste l'espacement entre les paragraphes (après CR/LF) qui est le problème. Par exemple, le titre "Load File - Saleyard" et les quatre lignes suivantes doivent être consécutifs, c'est-à-dire sans espace entre eux. Puis un espace à la prochaine rubrique "(2) Choisissez un fichier" et les 3 prochaines lignes doivent être consécutives. Ensuite, un espace à la prochaine rubrique "Le système va alors:" avec les 3 prochaines lignes consécutives.

Charger le fichier Objectif: Charger des fichiers fournis par un fournisseur de services, qui contient toutes les informations pertinentes sur un événement donné. Pour cette raison, le chargement du fichier est considéré comme 'Automatique' et nécessite une entrée minimale.

Load File - Saleyard L'opérateur doit: (1) Choisissez une Saleyard La première boîte de dialogue s'ouvre pour afficher une liste de tous Saleyards enregistrés dans le système. Sélectionnez-en un et appuyez sur le bouton 'OK' pour accepter la sélection, ou 'Annuler' pour arrêter le processus.

(2) Choisissez un fichier. Une boîte de dialogue FileChooser s'ouvre dans le répertoire Saleyards (home/Livestock Manager/Source/Saleyards), qui affiche un sous-répertoire pour chaque Saleyard enregistré. Ouvrez le répertoire du fournisseur approprié et choisissez le fichier d'événement approprié (.xml).

Le système sera alors: - vérifier que le fichier est du Saleyard nommé - vérifiez cet événement (fournisseur + date de l'événement) n'a pas été chargé avant - charger les données pertinentes

Recommandé Une fois chargé, il est recommandé de visualiser (voir l'option de menu Affichage/Edition - Vente) les résultats, de vérifier le nombre de têtes achetées et vendues, et le coût. La qualité des données fournies varie selon le fournisseur. Ainsi, cela fournit également une occasion d'améliorer les données par des mises à jour de Race, Sexe et Has Veau, selon le cas.

+0

La réponse, pour moi, à court terme se trouve à l'aide d'un éditeur HTML différent. Je me doutais qu'il y avait quelque chose au sujet du HTML généré dans Libre Office Writer qui causait le problème d'interligne. – gbear

+0

Je m'attendais à ce que Libre fonctionne de manière WYSIWYG, mais ce n'est évidemment pas le cas. Est-ce une faute connue, ou y a-t-il quelque chose que j'ai omis de faire? – gbear

Répondre

0

Pour l'instant, je me suis contenté d'utiliser l'éditeur HTML de BlueFish en utilisant un minimum de balises et de formatage.

J'aimerais quand même savoir pourquoi un document écrit en Libre Office Writee, et enregistré en HTML, n'a pas la même apparence dans un Browser que lorsque vous l'écrivez?

HTML est:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8" /> 
    <meta name="generator" content="Bluefish 2.2.5" > 
    <meta name="created" content="20161014;0"> 
    <meta name="changed" content="20161015;74147709157253"> 
<title></title> 
</head> 
<body> 
<span style="text-decoration: underline;">Purpose:</span> To load files provided by a Service Provider, that holds all relevant information about an event.<br> 
<br> 
For this reason file loading is considered to be 'Automatic', and requires minimal input.<br> 
<br> 
<b><span style="text-decoration: underline;">Load File - Saleyard</span></b><br> 
The operator needs to:<br> 
(1) <span style="text-decoration: underline;">Choose a Saleyard</span><br> 
The first dialog opens to show a list of all Saleyards registered in the system.<br> 
Select one and click on the 'OK' button to accept the selection, or 'Cancel' to stop the process.<br> 
<br> 
(2) <span style="text-decoration: underline;">Choose a File</span><br> 
A FileChooser dialog opens in the Saleyards directory (home/Livestock Manager/Source/Saleyards), which shows a sub-directory for each registered Saleyard.<br> 
Open the relevant Saleyard directory, and choose the relevant event file (.xml).<br> 
<br> 
The system will then :<br> 
- check to see that the file is from the nominated Saleyard<br> 
- check to ensure this event (provider + event date) has not been loaded before<br> 
- load the relevant data<br> 
<br> 
<b>Recommended</b><br> 
Once loaded, you show view the results (see menu option View/Edit - Saleyard) to verify the numbers of head bought and sold, and the cost.<br> 
The quality of data supplied varies between providers. So, this provides an opportunity to improve the data, via updates to Breed, Sex and Has Calf as appropriate.<br> 
<br> 
<br> 
<b><span style="text-decoration: underline;">Load File - KillSheet</span></b><br> 
This process is similar for consistency. 
However, at present each registered Abattoir provides it's own file type and structure. Since most Livestock are slaughtered at JBS Dinmore, this is the only file loaded automatically.<br> 
<br> 
The operator needs to:<br> 
(1) Choose an Abattoir<br> 
The first dialog opens to show a list of all Abattoirs (where the entry type is 'Automatic') registered in the system.<br> 
Select one and click on the 'OK' button to accept the selection, or 'Cancel' to stop the process.<br> 
</body> 
</html>